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
廣告