【发布时间】:2015-07-20 12:37:12
【问题描述】:
我正在针对在网格上运行的 Remote Selenium Webdriver 运行我的 JBehave 测试。问题是,当我单击界面中的特定选项卡时,远程 Webdriver 会空闲。我用来点击的代码是:
getDriver().findElement(By.linkText(link)).click();
之后,远程 Webdriver 不再响应。即使在此行之后进行调试并且仅获取页面源也没有响应。
有趣的事实:
- 运行本地 Webdriver 确实有效:S
- 此 click() 方法也用于许多其他故事/场景
尝试了我能找到的所有提示和技巧:
- 使用 xpath 而不是 linktext 来查找元素
- 调试(最终挂断了我的 IntelliJ)
- 将 firefox 首选项“webdriver.load.strategy”设置为“不稳定”
单击后正在加载的页面包含一个 iframe(我知道,我知道),这会造成问题吗?
如果有人可以帮助我更进一步。我现在什至无法调试问题:-(
我正在使用带有 Firefox 浏览器 v38.0 的 v2.46.0 Selenium Remote Webdriver 运行。
一段时间后我得到的堆栈跟踪:
java.lang.RuntimeException: org.jbehave.core.embedder.Embedder$RunningStoriesFailed: Failures in running stories: ReportsCount[stories=1,storiesNotAllowed=0,storiesPending=0,scenarios=1,scenariosFailed=1,scenariosNotAllowed=0,scenariosPending=0,stepsFailed=2]
at de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:80)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: org.jbehave.core.embedder.Embedder$RunningStoriesFailed: Failures in running stories: ReportsCount[stories=1,storiesNotAllowed=0,storiesPending=0,scenarios=1,scenariosFailed=1,scenariosNotAllowed=0,scenariosPending=0,stepsFailed=2]
at org.jbehave.core.embedder.Embedder$ThrowingRunningStoriesFailed.handleFailures(Embedder.java:525)
at org.jbehave.core.embedder.Embedder.handleFailures(Embedder.java:269)
at org.jbehave.core.embedder.Embedder.generateReportsView(Embedder.java:256)
at org.jbehave.core.embedder.Embedder.generateReportsView(Embedder.java:237)
at org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:213)
at de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:78)
... 9 more
【问题讨论】:
标签: selenium-webdriver jbehave