javascript - Playwright JS - 如果找不到元素/选择器,如何全局定义/更改超时?

标签 javascript automation jestjs timeout playwright

基本上,如果找不到元素,我希望剧作家等待每个元素 5 秒。
有一种方法可以单独更改超时,如下所示:

await page.waitForSelector('h1', { timeout: 5000 });
但我只想在全局范围内定义它一次,而不是在每个元素中。
预先感谢。

最佳答案

可以使用以下方法为接受超时设置的每个方法设置超时:

browserContext.setDefaultTimeout(timeout)
“browserContext”可能比“page”等价物稍微好一点,因为它是在整个 browserContext 中设置的。如果您想覆盖更广泛的 browserContext 设置,您始终可以使用页面设置。
如果您想要与其他方法不同的导航超时,也许在模拟慢速连接时,您还可以设置:
browserContext.setDefaultNavigationTimeout(timeout)
这将优先考虑导航。
使用 Playwright Test Runner 时,您可以通过创建 playwright.config.js 文件为整个测试全局设置超时。
这里有关于特定超时设置的文档:
https://playwright.dev/docs/test-intro#use-test-hooks
但他们的例子的简化版本是:
// playwright.config.js
module.exports = {

  // Each test is given 30 seconds
  timeout: 30000,

  use: {
    // Configure browser and context here
  },
};

关于javascript - Playwright JS - 如果找不到元素/选择器,如何全局定义/更改超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67787470/

相关文章:

javascript - 未捕获的语法错误 Three.js FontLoader

javascript - 延迟加载时取消页面请求

git - 在 TFS 2013 上自动创建 git 存储库

javascript - 如何在 Jest 测试中导入 JSON 文件?

javascript - 如何隐藏具有给定类的所有元素的父元素,但父元素也具有特定类?

javascript - 如何在 JavaScript 中使用此函数对一个范围内的所有数字求和?

qt - 使用 QT C++ 编写 Web 表单填充器/提交器

.net - 以编程方式从 Word 2007 文档中提取宏 (VBA) 代码

angular - 用 Jest 进行单元测试时,如何以 Angular 模拟 ResizeObserver polyfill?

jestjs - 与 Vue3 开 Jest 错误 : Cannot destructure property 'config' of 'undefined' as it is undefined