IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> cypress测试用例保存和获取变量的设置 -> 正文阅读

[开发测试]cypress测试用例保存和获取变量的设置

我的本意是第一个测试用例生成一个随机的项目id,后面的测试用例访问的url是全局环境变量保存的baseUrl和随机id拼接而成的,找了cypress的两种设计方法:

第一种:

  1. 创建 cypress.env.json 文件把baseUrl和项目id都放里面,项目id给一个默认值
  2. 第一个测试用例生成的项目id使用 Cypress.env(‘projectId’, 随机id) 替换掉cypress .env.json里里面的项目id
  3. 其他测试用例使用Cypress.env(‘projectId’) 的方法获取到项目id和baseUrl,利用 cy.visit(baseUrl+projectId) 访问的新项目的url

但是env有一个致命的限制,她对于环境变量的修改仅限于当前测试用例,也就是一个测试用例对它修改的值在别的用例中是访问不到的,所以这种方式不起作用

第二种:

  1. 第一个测试用例生成的随机id利用 cy.writeFile() 的方式写入到一个json文件中
cy.get('div#task')
      .attribute('project-id')
      .then((res) => {
        // 存入json文件中
        cy.writeFile(
          'cypress/fixtures/test.json',
          { project_id: res },
          { flag: 'w+' }
        );
      });

baseUrl也写在了这个文件里面

  1. 其他的测试用例从这个接送文件中l利用 cy.fixture() 获取baseUrl和projectId。
cy.fixture('test').then((data) => {
      project_id = data.project_id;
      let baseUrl = data.baseUrl
      });`

但是writeFile()方法中有很多flag,常用的就是W+全覆盖,a+追加,使用w+de话,baseUrl就被覆盖掉了,a+的话不会相互覆盖,但键值相同的键值对一直累加,json文件里面存在很多对象,这肯定是报错的

所以最后的解决办法就是两者的结合,将其余的固定环境变量写在cypress.env.json文件中,将随机生成的id单独放在一个json文件中,并且在writeFile方法中配置w+,使每次新生成的id覆盖掉旧的id
在获取baseUrl的时候利用Cypress.env(‘baseUrl’)的方式获取, 获取id的时候利用cy.fixture(’ 文件名’)的方式获取

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 11:20:58  更:2021-09-05 11:21:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:31:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码