Selenium挂起来自firefox。 (?)

时间:2014-03-17 11:26:19

标签: c# firefox selenium

我对硒3.40和3.39都有这个问题(我不知道以前的版本是什么)。

经过一段时间后,硒正在运行(并且正在执行),我的测试卡住了并且失败了"找到元素"并引发以下异常:

  

OpenQA.Selenium.WebDriverException:对远程的HTTP请求   用于URL的WebDriver服务器   http://localhost:7055/hub/session/44f53200-6259-4f38-8738-b4beda40429f/elements   60秒后超时。 ---> System.Net.WebException:The   操作已在System.Net.HttpWebRequest.GetResponse()超时   在   OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest的   请求)---内部异常堆栈跟踪结束--- at   OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest的   请求)   OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(命令   commandToExecute)at   OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Execute(命令   commandToExecute)at   OpenQA.Selenium.Remote.RemoteWebDriver.Execute(字符串   driverCommandToExecute,Dictionary`2参数)at   OpenQA.Selenium.Remote.RemoteWebDriver.FindElements(String mechanism,   字符串值)   OpenQA.Selenium.Remote.RemoteWebDriver.FindElementsByXPath(字符串   xpath)at   OpenQA.Selenium.By<> C_ DisplayClasse.b _d(ISearchContext   在OpenQA.Selenium.By.FindElements(ISearchContext context)上下文   在OpenQA.Selenium.Remote.RemoteWebDriver.FindElements(By by)

这个问题是selenium运行多长时间的问题:单独运行测试时,它不会发生。但是当我作为许多测试的一部分进行测试时,它就会发生。

失败后的呼叫可以成功。

也发生了铬。 我试着回去,所以Selenium 2.34并且问题仍然存在。

2 个答案:

答案 0 :(得分:2)

我找到了: 我设置了

WebDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(60));

在我的代码中的某处,这会导致每个元素查找等待60秒,以便元素出现。

答案 1 :(得分:1)

根据您的确认,我可以说您收到此问题是因为您的WebDriver对象是static。您可以逐个运行测试,但是一旦尝试一次运行多个,JVM会认为您的不同测试具有相同的WebDriver对象!好笑,呵呵..

找到一种方法从您的对象中移除static修饰符,这很可能需要您更改整个结构,修复您的问题。

来源:

  

Selenium的有经验的用户在尝试运行多个测试之前遇到了这个问题,并收到了相同的行为,并按照上述步骤修复了它。