Selenium中的页面加载超时

时间:2017-06-29 09:38:15

标签: java reactjs selenium selenium-webdriver automated-tests

有时我的自动化测试由于页面加载超时而失败。 我想知道问题不在于网站,而是我的自动化测试脚本对页面做了一些事情,因为:

  • 即使我将页面加载超时更改为30秒(例如50),错误的频率似乎也大致相同
  • 当我手动访问网站时,加载页面永远不会花费那么长时间
  • 当我在加载页面一段时间后终止自动化测试时,它会完成加载并显示页面
  • 有时候,我可以看到页面仍在从浏览器标签中加载,但页面内容已完全显示

有没有人遇到过这个问题?

我正在使用:

  • selenium-java:2.53.1
  • Chrome驱动程序:2.30
  • Selenide:4.5

我使用webDriver.get(url);方法在浏览器中打开网址。

以下是错误追溯:

  

org.openqa.selenium.TimeoutException:timeout     (会话信息:chrome = 59.0.3071.86)     (驱动程序信息:chromedriver = 2.29.461591(62ebf098771772160f391d75e589dc567915b233),platform = Windows NT 10.0.10586 x86_64)(警告:服务器未提供任何堆栈跟踪信息)   命令持续时间或超时:50.81秒       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)       at java.lang.reflect.Constructor.newInstance(Constructor.java:422)       在org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)       在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)       在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)       在org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:316)       在org.openqa.selenium.remote.RemoteWebDriver $$ FastClassBySpringCGLIB $$ 589f8ff4.invoke()       在org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)       在org.springframework.aop.framework.CglibAopProxy $ CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:721)       在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)       在org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)       在org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)       在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)       在org.springframework.aop.framework.CglibAopProxy $ DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)       在org.openqa.selenium.remote.RemoteWebDriver $$ EnhancerBySpringCGLIB $$ c8c4bedf.get()

2 个答案:

答案 0 :(得分:1)

由于Chrome驱动程序与selenium不兼容,我遇到了同样的问题。请尝试更新Chrome驱动程序。

答案 1 :(得分:-1)

您的代码没有问题。我认为您应该尝试将Chrome驱动程序更新到最新版本,看看是否仍然存在问题。请让我知道更新。