官方文档地址 https://docs.cypress.io/zh-cn/guides/overview/why-cypress.html#
- cypress 是一款 可以进行ui 测试 与接口测试的工具 安装方式官网都有 我这里就讲几个列子 来讲一下使用这个工具要注意的地方
- 任务之间没有关联 describe(it()....) 在describe里面每一个it 都唯一的,都拥有各自的storage 和 页面数据,两个it不会有任何关联
- cy.request 是异步的(请求本来就是)
- 直接使用 cy.visit 去切换页面 可以继承之前的store
- 点击事件报错,或者disabled输入 等 这种涉及强制型的炒作加上{force:true}
- cy 对象是全局的,你可以当成是node的内置方法
- 拥有window对象 可以直接操作window对象里面的属性 列如下面代码
// 无ui登录
function login(phone) {
return new Promise(resFn => {
cy.request({
method: 'POST',
url: `${Cypress.env('API')}/Login/login`,
form: true,
body: {
phone: phone,
pwd: "14e1b600b1fd579f47433b88e8d85291",
loginType: 0
}
})
.then(res => {
let auth = res.headers.authorization
window.localStorage.setItem('token', auth) //可以直接操作localStrtage
window.localStorage.setItem('ossHost', JSON.parse(res.body).data.ossHost)
cy.request({
method: 'POST',
url: `${Cypress.env('API')}/MemberInfo/Info`,
form: true,
headers: {
Authorization: auth
}
}).its('body').then(user => {
window.localStorage.setItem('userInfo', JSON.stringify({ "type": "object", data: JSON.parse(user).data }))
resFn()
})
})
})
}
网友评论