前言

全局配置项

Cypress系列(5)- 自定义 Cypress - 图1

超时 Timeouts相关

  • 超时是必须要了解的核心概念
  • 几乎所有命令都可能以某种方式超时
  • 所有断言,无论它们是默认断言还是自己添加的断言都具有相同的超时时间

Cypress系列(5)- 自定义 Cypress - 图2

文件夹 / 文件相关

相对于默认文件结构来说,Cypress 支持用户自定义的文件结构
Cypress系列(5)- 自定义 Cypress - 图3

可视视图

Cypress 在 Test runner 中运行时,会显示一个可视视图
Cypress系列(5)- 自定义 Cypress - 图4

Cypress.config()

除了直接在 cypress.json 文件里更改配置项之外,Cypress 还允许我们通过 Cypress.config() 去获取或覆盖某些配置项,语法如下:

  1. // 获取所有config信息
  2. Cypress.config()
  3. // 获取指定配置项的信息
  4. Cypress.config(name)
  5. // 更改指定配置项的默认值
  6. Cypress.config(name, value)
  7. // 使用对象字面量(object literal)设置多个配置项
  8. Cypress.config(object)

小栗子

每次测试运行前都打印所有的配置信息,将下列代码添加到 cypress/support/index.js 中

  1. beforeEach(function () {
  2. cy.log(`当前环境变量为${JSON.stringify(Cypress.env())}`)
  3. cy.log(`当前配置项信息为${JSON.stringify(Cypress.config())}`)
  4. })

运行任意测试文件,则可以看到执行 visit() 命令前打印了两次log日志
Cypress系列(5)- 自定义 Cypress - 图5

在测试文件的栗子

在 Integration 文件夹下创建 testConfig.js 文件

  1. //<reference types="cypress" /R>
  2. describe('测试配置项', function () {
  3. it('测试取值和设置值', function () {
  4. // 获取 pageLoadTimeout默认值
  5. cy.log(`pageLoadTimeout默认值是:${Cypress.config('pageLoadTimeout')}`)
  6. // 设置 pageLoadTimeout 值
  7. Cypress.config("pageLoadTimeout",100000)
  8. // 再次获取 pageLoadTimeout 的值
  9. cy.log(`pageLoadTimeout默认值是:${Cypress.config('pageLoadTimeout')}`)
  10. })
  11. })

运行 testConfig.js 文件,结果如下图
Cypress系列(5)- 自定义 Cypress - 图6

https://www.cnblogs.com/poloyy/p/13024996.html