Cypress系列(5)- 自定義 Cypress

如果想從頭學起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

 

前言

 

全局配置項

 

超時 Timeouts相關

  • 超時是必須要了解的核心概念
  • 幾乎所有命令都可能以某種方式超時
  • 所有斷言,無論它們是默認斷言還是自己添加的斷言都具有相同的超時時間

 

文件夾 / 文件相關

相對於默認文件結構來說,Cypress 支持用戶自定義的文件結構

 

可視視圖

Cypress 在 Test runner 中運行時,會顯示一個可視視圖

 

Cypress.config()

除了直接在 cypress.json 文件裏更改配置項之外,Cypress 還允許我們通過 Cypress.config() 去獲取或覆蓋某些配置項,語法如下:

// 獲取所有config信息
Cypress.config()

// 獲取指定配置項的信息
Cypress.config(name)

// 更改指定配置項的默認值
Cypress.config(name, value)

// 使用對象字面量(object literal)設置多個配置項
Cypress.config(object)

 

小栗子

每次測試運行前都打印所有的配置信息,將下列代碼添加到 cypress/support/index.js 中

beforeEach(function () {
    cy.log(`當前環境變量爲${JSON.stringify(Cypress.env())}`)
    cy.log(`當前配置項信息爲${JSON.stringify(Cypress.config())}`)
})

運行任意測試文件,則可以看到執行 visit() 命令前打印了兩次log日誌

 

在測試文件的栗子

在 Integration 文件夾下創建 testConfig.js 文件

//<reference types="cypress" /R>

describe('測試配置項', function () {
    it('測試取值和設置值', function () {
        // 獲取 pageLoadTimeout默認值
        cy.log(`pageLoadTimeout默認值是:${Cypress.config('pageLoadTimeout')}`)

        // 設置 pageLoadTimeout 值
        Cypress.config("pageLoadTimeout",100000)

        // 再次獲取 pageLoadTimeout 的值

        cy.log(`pageLoadTimeout默認值是:${Cypress.config('pageLoadTimeout')}`)
    })
})

運行 testConfig.js 文件,結果如下圖

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章