Cypress 配置之常用配置:env 和 baseUrl

前言

上一篇我们提到Cypress自定义的配置信息,例如设置是否失败时生成测试截图,这一类配置信息是Cypress自定义的,此类配置信息在cypress.json中进行设置即可。

今天我们提到我们在项目中最常见的配置 env 和 baseUrl

Env 环境变量

环境变量,其实就是根据环境的变化,变量会有不同的值

比如最常见的:开发环境、测试环境、生产环境的 URL 、登录用户名和密码 肯定不一样,我们可以根据不同的环境选择不同的环境变量

环境变量一般应用在以下情况

  • 不同开发人员,对应的值也可能不同
  • 不同环境下的值是不同的,如:dev、qa、prod
  • 某些值会频繁变化,而且高度动态
  • 环境变量很容易会更改,尤其是在持续集成(CI)中运行时

设置环境变量几种方式

方式一:cypress.json 中设置

例如: 

 测试用例:

 打印输出:

 方式二:创建 cypress.env.json 文件

  •     在cypress.json 同级目录下创建 cypress.env.json 文件
  •     Cypress 将会自动检查它,它里面的值会覆盖 cypress.json 中重名的环境变量

 方式三:读取计算机中设置的环境变量以CYPRESS开头

  • 计算机中任何以 CYPRESS_ 或 cypress_ 开头的环境变量都会自动被 Cypress 识别出来
  • 会直接覆盖 cypress.json 和 cypress.env.json 文件中重名的环境变量
  • Cypress在添加环境变量时,会自动去掉 CYPRESS_ 前缀
  • 用户级别环境变量的优先级会高于系统变量

方式四:在运行时候使用--env 

  • 可以通过命令行将环境变量作为命令行参数传进来
  • 它的优先级最高,会覆盖其他地方设置的重名环境变量
  • 可以为 cypress open 或 cypress run 添加 --env 参数

 方式五:在用例代码中设置env

 BaseUrl

  • 前面我们说到可以通过环境变量设置测试套件访问的 URL,这是其中一种方式
  • 而 Cypress 早就替我们想好了如何解决这问题,可以通过配置 baseUrl 来取代环境变量的方式
  • 当你配置了 baseUrl ,测试套件中的 cy.visit() 、 cy.request() 都会自动以 baseUrl 的值作为前缀
  • 并且,当你需要访问某些网址或者发起接口请求时,在代码中就可以不用再指定请求的 host 或者 url 了

如何配置 baseUrl

在 cypress.json 文件进行配置 baseUrl 

将配置信息与环境绑定例子

在cypress.json 配置如下

 获取各个环境配置配置

运行结果如图

posted @ 2022-07-02 16:17  keena_jiao  阅读(774)  评论(0编辑  收藏  举报