Cypress - JSON 文件配置


Cypress 配置由一些键值对组成,这些键值对适用于框架中的所有测试。Cypress 默认配置在测试运行器窗口的“设置”选项卡 ->“配置”(展开)中提供。

Cypress Automation

如果我们进一步查看同一窗口,我们将看到 Cypress 提供的多个配置的现有值,例如超时、环境变量、文件夹路径等。

如下所示:

JavaScript Object Notation

如果我们进一步查看同一窗口,我们将看到 Cypress 提供的多个配置的现有值,例如超时、环境变量、文件夹路径等。

如下所示:

Few more Configurations JavaScript Object Notation

覆盖默认值

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

Override Default values

在 cypress.json 中实现

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

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

这里,键是 baseUrl,值是 https://www.google.com/。再次运行测试后,**更改将反映在全局配置中**,如下所示:

Global Configurations

实际测试的实现

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

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

执行结果

输出如下:

BaseUrl

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

覆盖默认配置

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

这是借助 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 秒)。

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

禁用覆盖默认配置

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

cypress.json 中的配置如下:

{
   "defaultCommandTimeout" : "9000"
}

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

npx cypress open --config-file false

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

此外,defaultCommandTimeout 设置为 4 秒,这是由默认配置设置的,而不是由 cypress.json 中的 9 秒值覆盖。

Default Command Timeout
广告