Cypress系列(67)- 环境变量设置指南

简介: Cypress系列(67)- 环境变量设置指南

如果想从头学起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

 

常见的环境变量设置方式


可参考这篇文章:https://www.cnblogs.com/poloyy/p/13056393.html

 

前言

  • 里面写的设置方式针对的是单个环境
  • 但实际项目可能会存在多个环境(开发、测试、预发、生产),不同环境的环境变量就会不一样
  • 如果还是单纯只用上面讲到的方式,切换不同环境时,还得手动修改环境变量,极其不方便

 

使用 cypress.env.json


前言

  • Cypress 允许针对不同测试环境使用多个配置文件并且在运行时动态指定
  • 从而免除每切换一次环境,就需要更改环境变量值的情况

 

具体操作步骤

创建文件夹和文件

  • 在 cypress安装目录下创建一个 config 文件夹
  • 文件夹下建立两个文件,分别命名为 cypress.dev.json,cypress.qa.json

image.png

cypress.dev.json 代码

{
  "baseUrl": "http://localhost:7077/login",
  "env": {
    "username": "jane.lane",
    "password": "password123"
  }
}

cypress.qa.json 代码

{
  "baseUrl": "http://localhost:7077/login",
  "env": {
    "username": "wrongUser",
    "password": "wrongPwd"
  }
}


image.png

image.png

命令行运行 cypress 命令

yarn cypress:open --env configFile=qa

  • 上述命令打开 cypress 运行器(Test Runner)
  • 当然 configFile 作为环境变量可以有多种方式传递,参照一开始的文章哦

 

查看运行器的配置项

image.png

测试结果

点击即可运行测试用例文件

image.png

运行时动态指定环境变量


  • 上面讲的使用 cypress.env.json 可以指定测试环境运行,但需要额外创建文件
  • 除 cypress.env.json 外,在运行时指定测试环境的同时仍然可以使用 cypress.json 文件

 

cypress.json 代码

 "targetEnv": "dev",
  "env": {
    "dev": {
      "username": "iTesting",
      "password": "weChat",
      "Url": "http://localhost:5883"
    },
    "qa": {
      "username": "wrongUser",
      "password": "wrongPassword",
      "Url": "http://www.test.com:5883"
    }
  }


image.png

命令行运行 cypress 命令

指定需要运行的测试环境

yarn cypress:open --env testEnv=qa

相关文章
|
资源调度 测试技术 持续交付
Cypress系列(14)- 环境变量详解
Cypress系列(14)- 环境变量详解
385 0
Cypress系列(14)- 环境变量详解
|
JavaScript 测试技术
Cypress系列(92)- Cypress.env 命令详解
Cypress系列(92)- Cypress.env 命令详解
251 0
Cypress系列(92)- Cypress.env 命令详解
|
测试技术
Cypress系列(81)- clearCookie() 命令详解
Cypress系列(81)- clearCookie() 命令详解
156 0
Cypress系列(81)- clearCookie() 命令详解
Cypress系列(78)- getCookie() 命令详解
Cypress系列(78)- getCookie() 命令详解
278 0
Cypress系列(78)- getCookie() 命令详解
Cypress系列(79)- getCookies() 命令详解
Cypress系列(79)- getCookies() 命令详解
209 0
Cypress系列(79)- getCookies() 命令详解
|
JavaScript
Cypress系列(76)- cloest() 命令详解
Cypress系列(76)- cloest() 命令详解
298 0
Cypress系列(76)- cloest() 命令详解
|
索引
Cypress系列(74)- each() 命令详解
Cypress系列(74)- each() 命令详解
291 0
Cypress系列(74)- each() 命令详解
Cypress系列(80)- setCookie() 命令详解
Cypress系列(80)- setCookie() 命令详解
123 0
Cypress系列(80)- setCookie() 命令详解
Cypress系列(73)- within() 命令详解
Cypress系列(73)- within() 命令详解
246 0
Cypress系列(73)- within() 命令详解
|
JSON 数据格式
Cypress系列(95)- writeFile() 命令详解
Cypress系列(95)- writeFile() 命令详解
218 0
Cypress系列(95)- writeFile() 命令详解