Cypress Retries:如何在测试中获得重试次数

问题描述

我们如何捕获 it() 块中的重试次数

我的场景是:

  • 首次登录时,用户必须更改密码才能进入主屏幕并进行一些检查

  • 如果检查/测试失败,将重试it()块,但这次用户不必更改密码,因为这已经不是第一次登录了。第一次尝试时已更改密码。

  • 这一次(从第二次重试开始..),用户登录并执行与第一步相同的检查

我想在我的 it() 块中放置一个条件,

if (retry = '1st attempt')
  changePasswordUponLogin()
else
  onlyLogin()

那么我如何在测试中得到上面的 retry 值?

解决方法

请看Can I access the current attempt counter from the test?

const attempt = cy.state('runnable')._currentRetry