【发布时间】:2017-10-16 11:34:29
【问题描述】:
在等待 URL 更改时出现以下错误。
问题是间歇性的,我并不总是得到错误。因此,如果我简单地说getCurrentURL,它就会通过。我想这与在 expctedConditions 中多次调用它有关。
wait.until(ExpectedConditions.urlContains("cart-complete")));
浏览器: Firefox 45.0
Wedriver::2.52.0
堆栈跟踪
引起:org.openqa.selenium.WebDriverException:远程浏览器没有 不响应 getCurrentUrl 构建信息:版本:'2.52.0',修订: '4c2593cfc3689a7fcd7be52549167e5ccc93ad28',时间:'2016-02-11 11:22:43' 系统信息:主机:'ip-172-31-41-152',ip:'172.31.41.152', os.name:'Linux',os.arch:'amd64',os.version: '4.9.38-16.33.amzn1.x86_64', java.version: '1.8.0_45' 驱动信息: driver.version: RemoteWebDriver org.openqa.selenium.remote.RemoteWebDriver.getCurrentUrl(RemoteWebDriver.java:328) org.openqa.selenium.support.ui.ExpectedConditions$4.apply(ExpectedConditions.java:131) org.openqa.selenium.support.ui.ExpectedConditions$4.apply(ExpectedConditions.java:126) org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:238) uk.co.pharmica.libs.Page.waitUntilURLContains(Page.java:112) uk.co.pharmica.pages.buyer.CartCompletePage.(CartCompletePage.java:24) sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.lang.reflect.Constructor.newInstance(Constructor.java:422) org.openqa.selenium.support.PageFactory.instantiatePage(PageFactory.java:129) org.openqa.selenium.support.PageFactory.initElements(PageFactory.java:64) uk.co.pharmica.tests.Buyer.test3DSecure(Buyer.java:66) sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:497) org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85) org.testng.internal.Invoker.invokeMethod(Invoker.java:639) org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816) org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124) org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) org.testng.TestRunner.privateRun(TestRunner.java:774) org.testng.TestRunner.run(TestRunner.java:624) org.testng.SuiteRunner.runTest(SuiteRunner.java:359) org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354) org.testng.SuiteRunner.privateRun(SuiteRunner.java:312) org.testng.SuiteRunner.run(SuiteRunner.java:261) org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) org.testng.TestNG.runSuitesSequentially(TestNG.java:1191) org.testng.TestNG.runSuitesLocally(TestNG.java:1116) org.testng.TestNG.run(TestNG.java:1024) org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:281) org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:75) org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:121) org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290) org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242) org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
【问题讨论】:
-
你能提供更多的背景信息吗?如果周围的代码可以正常工作?您的实际 URL 等是什么。
-
Web 驱动程序无法获取当前 url 有点奇怪。如果在等待之前添加 driver.getCurrentUrl() 会发生什么?如果在 chrome 浏览器上运行会发生什么?
-
你为什么用这么老的FF和驱动?
-
@Jeff 我正在使用浏览器堆栈,并且使用较新版本还有其他问题。这是迄今为止最稳定的版本。
-
@yong 它不会每次都给我这个错误,它是间歇性的。
标签: selenium selenium-webdriver