Cypress 简明教程

Cypress - Configuration of JSON File

Cypress 配置由一些适用于框架内所有测试的键值对组成。Cypress 默认配置可在测试运行器窗口中的“设置”选项卡→“配置”(展开它)下找到。

cypress automation

如果我们在同一窗口中向下看,我们应该看到 Cypress 给出的多个配置的现有值,例如超时、环境变量、文件夹路径等。

它如下所示:

javascript object notation

如果我们在同一窗口中向下看,我们应该看到 Cypress 给出的多个配置的现有值,例如超时、环境变量、文件夹路径等。

它如下所示:

few more configurations javascript object notation

Override Default values

要从 cypress.json 文件覆盖默认配置,我们必须指定键值对。

override default values

Implementation in cypress.json

覆盖 JSON 文件的默认值实现如下:

{
   "baseUrl" : "https://www.google.com/"
}

此处,键是 baseUrl,值是 https://www.google.com/ 。一旦再次运行测试,就会 changes are reflected in the global configurations ,如下所示:

global configurations

Implementation of Actual Test

覆盖 JSON 文件的默认值的实际测试实现如下:

describe('Tutorialspoint', function () {
// test case
   it('First Test', function (){
      // launch application from configuration
      cy.visit("/")
   });
});

Execution Results

输出如下 −

baseurl

执行日志显示 baseUrl 已从 cypress.json 文件获取,并且适用于框架内的所有测试。

Override Default configurations

我们可以从测试脚本覆盖默认配置,这将适用于测试用例内的单个测试步骤,而不仅适用于完整框架。

这是在 Cypress 中借助 config 命令完成的。

例如,如果我们希望为特定测试步骤增加默认超时,实现如下所示:

//set default time out to nine seconds from following steps in test
Cypress.config('defaultCommandTimeout',9000)
landPage.selectUser().click()

同时,如果在 cypress.json 文件中将 defaultCommandTimeout 值设置为 7 秒,那么 Cypress 将优先考虑应用于测试步骤的超时(即 9 秒)。

最后,它优先考虑默认配置。

Disable Overriding Default configurations

我们可以禁用从 cypress.json 中覆盖默认配置的功能。

cypress.json 中的配置如下:

{
   "defaultCommandTimeout" : "9000"
}

要禁用以上配置,运行以下命令:

npx cypress open --config-file false

在运行上述命令后,测试运行器窗口的设置选项卡将显示 config 标记设置为 false。

此外,defaultCommandTimeout 被设为 4 秒,这是由默认配置设定的,并且不会被 cypress.json 的 9 秒值覆盖。

default command timeout