Selenium webdriver Selenium远程Web驱动程序在单击()后空闲/卡住

Selenium webdriver Selenium远程Web驱动程序在单击()后空闲/卡住,selenium-webdriver,jbehave,Selenium Webdriver,Jbehave,我正在对网格上运行的远程Selenium Webdriver运行JBehave测试。问题是,当我单击界面中的特定选项卡时,远程Webdriver将处于空闲状态。我用来单击的代码是: getDriver().findElement(By.linkText(link)).click(); 之后,远程Webdriver不再响应。即使在这一行之后进行调试,仅仅获取页面源代码,也没有响应 有趣的事实: 运行本地Webdriver确实有效:S 此click()方法也用于许多其他故事/场景 尝试了我能找到的

我正在对网格上运行的远程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远程Web驱动程序


    一段时间后我得到的堆栈跟踪:

    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不会抛出无法建立的连接的超时错误,而是抛出上面发布的nothing-I-can-derive-from-stacktrace

    将其保留在此处,以供有相同行为/错误且不考虑连接问题的人使用0:-)

    好的,找到问题:-)

    正在打开的页面尝试连接到无法访问的地图服务器

    显然,如果出现这种情况,Selenium不会抛出无法建立的连接的超时错误,而是抛出上面发布的nothing-I-can-derive-from-stacktrace

    将其保留在此处,以供有相同行为/错误且不考虑连接问题的人使用(0:-)