如果想從頭學起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
Cypress 下什么是條件測試
- 判斷一個元素是否存在,當它存在時,執行 A 操作;當它不存在時,執行 B 操作
- Cypress 認為條件測試是導致測試不穩定的根本原因
條件測試的不穩定性
- 當測試代碼中出現條件測試時,說明無法確定操作會導致哪種結果發生
- 這顯然是有風險的,例如執行 A 操作的代碼有錯誤,導致 A 操作一直沒有被觸發,則此問題將無法被測試到
停用條件測試
- Cypress 建議通過指定前置測試條件來避免操作引發的不確定行為
- 例如當有A、B 策略的需求時,指定測試前置條件使得 A 或 B 一定發生
- 前置條件的構造,可以通過修改 DB 直接獲取,也可以根據業務使用 API 或 UI 的方式構造
- 唯有條件確定時,才能避免使測試進入條件測試的困境
測試代碼栗子
// 前置條件的構造過程 it('確定 A 操作會發生', function () { cy.get('.A_Selector').should('exist') }); it('確定 A 操作不會發生', function () { cy.get('.A_Selector').should('not.exist') });