selenium - 显式 Selenium 在实习生中等待

标签 selenium selenium-webdriver intern

如何使用实习生的 Leadfoot API 使用显式等待来进行实习生的功能测试?

在多种情况下,我想显式轮询直到满足条件。例如,我想等到 DOM 中存在两个或多个元素。使用 findAllByCssSelector 会锁定整个隐式等待时间的执行,而不是在条件成立后立即返回。

我所能看到的对我有帮助的是pollUntil辅助函数,但看起来它无法访问测试模块中定义的任何模块依赖项。

如何在 pollUntil 中使用 jQuery 之类的东西?

最佳答案

findAllByCssSelector 仅在未找到元素时等待隐式等待。如果元素存在,该方法会立即完成它找到的任何内容,因此如果您需要等待特定数量的元素出现,那么这并不理想。

pollUntil 是进行条件等待的方法。不过,您是正确的,它无权访问您的模块依赖项。您的依赖项将在 Intern 测试运行程序的上下文中加载,而 pollUntil 条件将在浏览器的上下文中运行。有几种方法可以将您需要的代码输入浏览器。如果您控制测试页面,您只需修改它即可在测试运行之前加载您需要的任何模块。如果您无法修改测试页面,则可以在测试中加载页面后使用 executeAsync 调用,将所需的任何模块注入(inject)页面上下文中。

关于selenium - 显式 Selenium 在实习生中等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25656018/

相关文章:

selenium - 在Selenium Grid中使用无限的maxInstance

java - Selenium:连接被拒绝且未找到驱动程序

java - 需要帮助在 selenium webdriver 新打开的窗口中查找文本框

java - 如何在 Selenium WebDriver 中获取 "li"类的所有 "ul"元素

javascript - Leadfoot session 对象返回 promise

python - 在 pytest 中,如何判断测试是否失败? (从 "request"开始)

java - 如何抑制 "protocol handler"弹出匿名\隐身 Chrome ?

css - Selenium Webdriver C#::CSS 选择器在 Internet Explorer 中无法正常工作

javascript - Intern.js 中的文件上传

javascript - 在实习生测试中包含 jQuery