【发布时间】:2016-03-16 17:10:37
【问题描述】:
我在 C# 中使用 Selenium,我最近编写的测试有一点问题。
我创建了一个新的 FirefoxDriver,它导航到我的 URL,它会在进一步导航之前立即创建一个用于身份验证的弹出窗口。这里的问题是, driver.navigate().gotourl("") 确实等待 URL 被加载,它不会 - 也不应该 - 这样做。当我用 try catch 块包围此语句以捕获 WebDriverException 时,它只是忽略它并以以下方式结束我的测试:
Test Name: SetUserPw
Test FullName: XUnit_DataManager_Tests.DataManagerGui.PasswordTest.SetUserPw
Test Source: C:\Programme\IMaT\TestPlugins\Plugins for XUnit\XUnit_DataManager_Tests\DataManagerGui\PasswordTest.cs : line 393
Test Outcome: Failed
Test Duration: 0:00:00,001
Result StackTrace:
bei OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
bei OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
bei OpenQA.Selenium.Firefox.FirefoxDriverCommandExecutor.Execute(Command commandToExecute)
bei OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
bei OpenQA.Selenium.Remote.RemoteTargetLocator.Alert()
bei WebsiteAutomation.Helpers.Helper.c.b__4_0(IWebDriver drv)
bei OpenQA.Selenium.Support.UI.DefaultWait`1.Until[TResult](Func`2 condition)
bei WebsiteAutomation.Helpers.Helper.WaitForAlert(UInt32 timeout)
bei WebsiteAutomation.Helpers.Helper.WaitForBasicAuth(String user, String password, Boolean accept, UInt32 timeout)
bei XUnit_DataManager_Tests.DataManagerGui.PasswordTest.OpenPasswordSite(String password) in C:\Programme\IMaT\TestPlugins\Plugins for XUnit\XUnit_DataManager_Tests\DataManagerGui\PasswordTest.cs:Zeile 430.
bei XUnit_DataManager_Tests.DataManagerGui.PasswordTest..ctor(InverterFixture fixtureData) in C:\Programme\IMaT\TestPlugins\Plugins for XUnit\XUnit_DataManager_Tests\DataManagerGui\PasswordTest.cs:Zeile 36.
----- Inner Stack Trace -----
bei System.Net.HttpWebRequest.GetResponse()
bei OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
Result Message:
OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL http://localhost:7055/hub/session/4b47ded2-6ba6-4052-8785-e8ba346092da/alert_text timed out after 60 seconds.
---- System.Net.WebException : Die Anfrage wurde abgebrochen: Timeout für Vorgang überschritten.
有没有办法导航到一个 URL,但对身份验证弹出窗口做出反应?
【问题讨论】: