美文网首页
前端自动化测试 cypress 的一些使用事项

前端自动化测试 cypress 的一些使用事项

作者: 还好还好L | 来源:发表于2020-06-12 16:10 被阅读0次

官方文档地址 https://docs.cypress.io/zh-cn/guides/overview/why-cypress.html#

  • cypress 是一款 可以进行ui 测试 与接口测试的工具 安装方式官网都有 我这里就讲几个列子 来讲一下使用这个工具要注意的地方
    1. 任务之间没有关联 describe(it()....) 在describe里面每一个it 都唯一的,都拥有各自的storage 和 页面数据,两个it不会有任何关联
    2. cy.request 是异步的(请求本来就是)
    3. 直接使用 cy.visit 去切换页面 可以继承之前的store
    4. 点击事件报错,或者disabled输入 等 这种涉及强制型的炒作加上{force:true}
    5. cy 对象是全局的,你可以当成是node的内置方法
    6. 拥有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()
        })
      })
  })
}

相关文章

网友评论

      本文标题:前端自动化测试 cypress 的一些使用事项

      本文链接:https://www.haomeiwen.com/subject/iutntktx.html