硒错误:从服务器无响应的URL为http://本地主机:7055 [英] Selenium error: No response from server for url http://localhost:7055

查看:317
本文介绍了硒错误:从服务器无响应的URL为http://本地主机:7055的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用硒,C#,NUnit的编写测试,有时会收到以下错误: -

I'm using Selenium, C#, NUnit to write tests, sometimes I getting below error:-

OpenQA.Selenium.WebDriverException ://lоcalhost:7055 /集线器/会话/ 8dd13f5c-7ca6-4aa6-BABC-f0ff6d940f0a /元素

OpenQA.Selenium.WebDriverException : No response from server for url httр://lоcalhost:7055/hub/session/8dd13f5c-7ca6-4aa6-babc-f0ff6d940f0a/element

下面的堆栈跟踪:

OpenQA.Selenium.WebDriverException:从服务器无响应的URL
httр://本地主机:7055 /集线器/会话/ 8dd13f5c-7ca6-4aa6-BABC-f0ff6d940f0a / AT
OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse元素
(WebRequest的
请求)的
C:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\HttpCommandExecutor.cs:行
115在OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(命令
commandToExecute)在
C:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\HttpCommandExecutor.cs:行
96在
OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Execute(命令
commandToExecute)在
C:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Firefox\Internal\\ \\ExtensionConnection.cs:行
128在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(字符串
driverCommandToExecute,Dictionary`2参数)在
C:\Projects\WebDriver\trunk\\ \\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:行
795在OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(字符串
机制,字符串值),
C: \Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:行
836在OpenQA.Selenium.Remote.RemoteWebDriver.FindElementById(字符串
ID )在
C:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:线​​
431 OpenQA.Selenium.By<> c__DisplayClass2.b__0(ISearchContext
上下文)在
C:\Projects\WebDriver\trunk\dotnet\src\WebDriver\By.cs:在
OpenQA线102。 Selenium.By.FindElement在
C(ISearchContext上下文):\Projects\WebDriver\trunk\dotnet\src\WebDriver\By.cs:在
OpenQA.Selenium线272。 Remote.RemoteWebDriver.FindElement(通过所)在
C:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:行
289在

OpenQA.Selenium.WebDriverException : No response from server for url httр://localhost:7055/hub/session/8dd13f5c-7ca6-4aa6-babc-f0ff6d940f0a/element at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\HttpCommandExecutor.cs:line 115 at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\HttpCommandExecutor.cs:line 96 at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Execute(Command commandToExecute) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Firefox\Internal\ExtensionConnection.cs:line 128 at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:line 795 at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(String mechanism, String value) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:line 836 at OpenQA.Selenium.Remote.RemoteWebDriver.FindElementById(String id) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:line 431 at OpenQA.Selenium.By.<>c__DisplayClass2.b__0(ISearchContext context) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\By.cs:line 102 at OpenQA.Selenium.By.FindElement(ISearchContext context) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\By.cs:line 272 at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(By by) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:line 289 at

代码中出现这个错误:

Driver.SwitchTo().Frame(frameElement);    
var wait = new WebDriverWait(parentContextable.Context.Driver, Timeout);
IWebElement element = wait.Until(d => Driver.FindElement(By.TagName(Tags.Body))); // error in this line



我想通了,这个错误只能在硒的这段台词被抛出实现代码:

I figured out that this error can be thrown only in this lines of Selenium implementation code:

private static Response CreateResponse(WebRequest request)
        {
            Response commandResponse = new Response();

            HttpWebResponse webResponse = null;
            try
            {
                webResponse = (HttpWebResponse)request.GetResponse();
            }
            catch (WebException ex)
            {
                webResponse = (HttpWebResponse)ex.Response;
            }

            if (webResponse == null)
            {
                throw new WebDriverException("No response from server for url " + request.RequestUri.AbsoluteUri);
            }
            else
            { ...



也许有人知道为什么request.GetResponse()返回null,或者如果它失败的原因ex.Response也为空?

Maybe someone knows why request.GetResponse() returns null, or if it fails why ex.Response also null?

(2012年9月9日),很抱歉,但也许我没有提供的所有信息。我使用的是Firefox的驱动程序,Win7的,硒2.25.1。我的测试只是有时会失败。在调试模式下测试失败较少然后释放。

(09.09.2012) Sorry but maybe I didn't provide all information. I'm using FireFox driver, Win7, Selenium 2.25.1. My test fails only sometimes. Test in debug mode fails less often then in Release.

在这里我发现可能的原因发生这种情况。如果我写这样的代码:

Here I found possible reasons why this happen. And if I write such code:

Driver.SwitchTo().Frame(frameElement);    
var wait = new WebDriverWait(parentContextable.Context.Driver, Timeout);
Tread.Sleep(250);
IWebElement element = wait.Until(d => Driver.FindElement(By.TagName(Tags.Body)));



测试运行正常。但Thread.sleep代码是不好解决。也许有人能找到另一个,稍微好一点的解决方案。

Test runs OK. But Thread.Sleep is bad solution. Maybe somebody could find another, little bit better solution.

推荐答案

在这里找到以下解决方法:

Found Following workarounds here:

https://开头组。 google.com/forum/?fromgroups=#!topic/selenium-users/1im-LurjK5s

http://watirmelon.com/2011/10/04/c -avoiding最webdriverexception-无响应从服务器换网址/

这篇关于硒错误:从服务器无响应的URL为http://本地主机:7055的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆