标签:username web 17 Cypress fixture cy json login password
前言
面试时间经常被问到:你的测试数据放哪?有没有做到测试数据和代码的分类?
Cypress 使用cypress/fixture 目录存放 json 文件数据, cy.fixture() 加载测试数据。
官方文档参考https://docs.cypress.io/api/commands/fixture.html#Syntax
fixture 使用
在 cypress/fixture 目录写个 login.json 文件,内容如下
{
"username": "admin",
"password": "123456"
}
使用 cy.fixture("filename.json") 读取 json 文件数据.
先不访问网页,使用 cy.log() 查看数据是否读取到
/**
* Created by dell on 2020/5/14.
* 作者:上海-悠悠 交流QQ群:939110556
*/
describe('登陆web网站案例', function() {
beforeEach(() => {
//cy.visit('http://xxxx:8080/zentao/user-login.html');
cy.fixture('login.json').as('login')
})
it("登陆案例", function ()
{
cy.log("读取login.json文件账号:"+this.login.username)
cy.log("读取login.json文件密码:"+this.login.password)
})
})
运行结果
登录案例
接下来把账号和密码放 login.json 文件,登录的网页的时候使用 fixture 读取数据
{
"username": "admin",
"password": "Yoyo123456",
"include": "/zentao/my/",
"text": "我的地盘",
"zentaosid": "exist"
}
登录 web 网站按钮参考前面这篇https://www.cnblogs.com/yoyoketang/p/12873091.html
/**
* Created by dell on 2020/5/14.
* 作者:上海-悠悠 交流QQ群:939110556
*/
describe('登陆web网站案例', function() {
beforeEach(() => {
cy.visit('http://ip:8080/zentao/user-login.html');
cy.fixture('login.json').as('login')
})
it("登陆案例", function ()
{
cy.log("读取login.json文件账号:"+this.login.username)
cy.log("读取login.json文件密码:"+this.login.password)
// let 定义变量
let username = this.login.username
let password = this.login.password
let include = this.login.include
let text = this.login.text
let zentaosid = this.login.zentaosid
//输入用户名
cy.get('#account').type(username)
.should('have.value', username)
// 输入密码
cy.get('[name="password"]').type(password)
.should('have.value', password)
// 提交表单
cy.get('#submit').click()
// 判断页面跳转到 /zentao/my/
cy.url().should('include', include)
// and '欢迎您:admin' in page
cy.get('body').should('contain', text)
// 判断存在cookie值 'zentaosid'
cy.getCookie('zentaosid').should(zentaosid)
})
})
运行结果
QQ交流群:939110556
标签:username,web,17,Cypress,fixture,cy,json,login,password 来源: https://www.cnblogs.com/yoyoketang/p/12891907.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。