如果想從頭學起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
前言
- 在做自動化測試中,跳過執行某些測試用例,或只運行某些指定的測試用例,這種情況是很常見的
- Cypress 中也提供了這種功能
跳過執行測試套件或測試用例
通過 .skip() 可以完成,簡潔明了
跳過執行測試套件的栗子
知識點
通過 describe.skip() 或者 context.skip() 來跳過不需要執行的測試套件
測試代碼
測試結果
可以看到,只有第二個測試套件里面的第一個 it() 執行了,其他兩個 it() 均標記為未執行
跳過執行測試用例的栗子
知識點
通過 it.skip() 來跳過不需要執行的測試用例
測試代碼
這里我們結合 beforeEach() ,看看對跳過執行的用例會不會也生效
測試結果
可以看到,跳過執行的測試用例是不會執行前置操作或后置操作的
指定執行測試套件或測試用例
通過 .ony() 可以完成,簡潔明了
重點:當存在 .only() 指定某個測試套件或測試用例時,只有這個測試套件或測試用例會被執行,其他未加 .only() 的測試套件或測試用例都不會執行
指定執行測試套件的栗子
知識點
通過 describe.only() 或者 context.only() 來指定需要執行的測試套件
測試代碼
- 結合 it.skip() 測試一下效果
- 然后在第二個 describe (沒有添加 .only() )里面的 context 測試套件添加 .only()
測試結果
這里 Cypress 的 Test Runner顯示的有點問題,我們來看 headless 模式下的運行情況
- 添加了 .only() 的子套件,即使父套件沒有添加,它也會執行
- 添加了 .only() 的套件,該套件下所有測試用例默認都會執行(即使不加 .only() ),除非加了 .skip() ,不過會處於 pending (待定)狀態【我也不知道為啥...】
指定執行測試用例的栗子
知識點
通過 it.only() 來指定需要執行的測試用例
測試代碼
測試結果
- 如果當前測試套件下有 it.only() ,那么即使存在測試套件添加了 .only() ,該測試套件也不會執行(如上面的:該套件不會運行)
- 同個測試套件系啊有多個 it.only() 時,都會執行(有些地方可能會說只執行最后一個)