如果想从头学起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') });