栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

selenium隐式等待不起作用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

selenium隐式等待不起作用

正如您在问题中提到的,如果 被测应用程序AUT* )使用 JavascriptAJAX调用
,则加载整个页面所花费的时间过多(尤其是在某些资源不可用时) 。 __
*

  • 在您的第一个场景中,你已经引起双方
    set_page_load_timeout(5)
    set_script_timeout(5)
    • set_page_load_timeout(time_to_wait)
      :设置在引发异常之前等待页面加载完成的时间。
    • set_script_timeout(time_to_wait)
      :设置脚本在
      execute_async_script
      调用期间应等待的时间(引发异常)。

因此, 两种情况 下,被测应用程序均 依赖 JavascriptAJAX调用 会引发 TimeoutException

  • 在第二种情况下,您同时引出

    implicitly_wait(2)
    WebDriverWait(driver, 2, 0.5)

    • implicitly_wait(time_to_wait)
      :将超时设置为隐式等待找到元素或命令完成。
    • WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
      :将超时设置与不同
      expected_conditions
    • 但是您正在 经历很长的超时时间(40+秒), 因为 文档中 已明确提到 不要将隐式和显式等待混合使用,否则可能导致无法预测的等待时间

警告
:请勿混合使用隐式和显式等待。这样做可能导致无法预测的等待时间。例如,将隐式等待设置为10秒,将显式等待设置为15秒,则可能导致20秒后发生超时。

解决方案:

最好的解决方案是删除的所有实例

implicitly_wait(time_to_wait)
并替换
WebDriverWait()
为以使
被测应用程序(AUT) 保持稳定的行为。


更新资料

根据您的反问题,当前代码块看起来很完美。的时候,你看到的测量

time used: 44.6049938202 s
是所需的时间 网页
完全和功能加载对于所需要的时间 客户端 (即 Web浏览器 来控制返回到) webdriver的 情况下,一旦
“document.readyState ‘ 等于 “完成”Selenium
或作为用户,您无法控制此渲染过程。但是,为了获得更好的性能,您可以遵循以下最佳做法:

  • 保持您的 JDK 版本当前为最新状态 Java SE Development Kit 8u162
  • 保持您的 Selenium Client 版本当前为 selenium 3.9.0的 最新版本 __
  • 保持您的 WebDriver 版本更新。
  • 保持您的 Web浏览器 版本更新。
  • 定期在IDE中清理 项目工作区 ,以仅使用所需的依赖项来构建项目。
  • 在执行 Test Suite 之前和之后,使用 CCleaner 工具清除OS杂项。 __
  • 如果您的 Web浏览器 基本版本太旧,请通过 Revo Uninstaller 卸载 Web浏览器 ,然后安装最新发布的GA版本的 Web浏览器 __ __
  • 执行 测试


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/447851.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号