所以我把我的NUnit Seleniumt测试放到我们团队的tfs上。我已将它们配置为构建并作为Visual Studio Tests运行。我已将VsoAgent配置为交互式。我的测试开始运行,但在打开Chrome后,我看到Chrome自动化扩展已停止工作的通信,我收到错误消息:
OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL http://localhost:54836/session timed out after 60 seconds.
----> System.Net.WebException : The operation has timed out
TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
Stack Trace:
at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeOptions options)
at SeleniumBase.Selenium_base.setUp(Browsers browser, String URL, Int32 waitMillis) in C:\TFS\agent3\_work\1\s\PentaJPKSelenium\Selenium_base.cs:line 38
at PentaJPKBase.PentaJPK_base.SetupTest() in C:\TFS\agent3\_work\1\s\PentaJPKSelenium\PentaJPKSelenium_base.cs:line 17
--WebException
at System.Net.HttpWebRequest.GetResponse()
at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
--TearDown
at PentaJPKBase.PentaJPK_base.TeardownTest() in C:\TFS\agent3\_work\1\s\PentaJPKSelenium\PentaJPKSelenium_base.cs:line 54Error: Exception NUnit.Core.UnsupportedFrameworkException, Exception thrown executing tests in C:\TFS\agent3\_work\1\s\PentaJPKSelenium\bin\Debug\PentaJPKSelenium.dll
当我在本地运行它们而不是通过代理程序时,一切都正常运行。 有谁知道如何解决这个问题?
答案 0 :(得分:2)
经过几个小时的寻找,我找到了一种洗液。我想让ChromeDriver在最新版本的Chrome上使用最新版本。使其发挥作用的神奇之处在于:
ChromeOptions options = new ChromeOptions();
options.AddArguments("no-sandbox"); <--------------------------
driver = new ChromeDriver(options);
此行阻止ChromeDriver尝试以用户SYSTEM身份打开Chrome,而他无法使用VSO代理处理。
答案 1 :(得分:0)
尝试使用以下方法缩小问题范围:
更改默认(60秒)驱动程序超时,在驱动程序中设置更多时间 构造
将您的驱动程序更改为Firefox 驱动程序
将Selenium Webdriver Nuget包升级到最新
在构建代理上禁用防火墙。
另请查看类似问题Selenium WebDriver throws Timeout exceptions sporadically&amp; OpenQA.Selenium.WebDriverException : No response from server for url