我正在尝试找到一种在不满足某些条件时在 Playwright 中循环的方法。在量角器中我可以使用
browser.wait
。在下面的示例中,我从 Protractor 迁移到 Playwright,代码在 testButton 不可见时单击刷新按钮,一旦它可见,则单击 testButton:
await browser.wait(async function () {
return testButton.isPresent().then(async function (present) {
// Refresh the grid until testButton is present
if (present) {
await testButton.click();
return true;
} else {
await refreshButton.click();
return false;
}
});
我已经看到 Playwright 提供了一组调用来等待特定条件,例如 waitForSelector,但我在尝试让它们循环工作时遇到了麻烦,因为在承诺之前不会解决简单的 while 问题。
toBeVisible 本身就是一个 retrying 断言,您不需要将其再次包装在另一个断言中。
这会做同样的事情:
await expect(testButtonLocatorHere).toBeVisible();