javascript - Testcafe:重复点击直到出现另一个元素

标签 javascript async-await functional-testing e2e-testing testcafe

我正在使用 testcafe 测试用户界面。

要求用户单击按钮,直到出现模态对话框,然后应单击对话框中的按钮。

点击次数在测试中可能会有所不同,有时是两次,有时是三次。因此,这段代码并不总是有效

await t
  .click(Button)
  .click(Button)
  .click(Button)
  .click(ModalDialogButton);

我需要一种方法来重复单击 Button 直到出现 ModalDialogBu​​tton。然后,必须单击 ModalDialogBu​​tton

我如何使用 testcafe 做到这一点?

最佳答案

您可以尝试使用 while 循环来执行此操作,如下所示:

while (!(await ModalDialogButton.exists))
    await t.click(Button)

await t.click(ModalDialogButton);

您能否说明您需要重复点击?也许您可以等待 ModalDialogBu​​tton 出现。例如:

await ModalDialogButton();

此行自动等待,直到 ModalDialogBu​​tton 选择器出现在默认超时的页面上。您可以增加 selector timeout .

关于javascript - Testcafe:重复点击直到出现另一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55987042/

相关文章:

rust - 有没有办法为 tokio::spawn_blocking 创建多个池,这样一些任务就不会饿死其他任务?

c# - 使用 Async/Await 重写我的 Utils 库的正确方法

react-native - 关于如何处理 React Native + React Native Web 堆栈的端到端测试的建议?

ruby-on-rails - 在 Controller 规范 (rspec) 中测试设计和 cancan

ruby-on-rails - 为什么 "assert_response"忽略 Rails 中的自定义消息?

javascript - 在 reactjs 中导入动态组件

javascript - 如何以 "await"为回调返回?

javascript - 如何防止iframe影响浏览器历史记录

javascript - 带有连字符的 Webpack 外部模块名称

javascript - ng-bind-html 未按预期工作