我无法使用Firefoxdriver()
。当执行nant脚本以运行所有测试时,有时不会执行测试用例。在一个随机测试用例失败,因为Webdriver正在等待来自服务器的响应,所有下一个测试用例都失败。
FF没有响应,Webdriver挂起。
此外,当所有测试完成时,FF未关闭,但应该是。
我认为原因是webdriver无法处理来自服务器的请求。
当它们单独手动执行时的所有测试都很有效,但是当脚本webdriver块中的所有测试都被执行时。
在我的案例中,页面正在响应。
你能帮忙吗?
日志:
OpenQA.Selenium.WebDriverException:服务器没有对url的响应 http://localhost:7055/hub/session/573893ba-2a39-4da2-be57-33cf352a5945/element/%7Bd5b8fdf1-62fd-462b-b72c-3bc4f1be3100%7D/text 在 OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest的 请求) C:\项目\的webdriver \树干\ DOTNET \ SRC \的webdriver \远程\ HttpCommandExecutor.cs:线 115在OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(命令 commandToExecute)in C:\项目\的webdriver \树干\ DOTNET \ SRC \的webdriver \远程\ HttpCommandExecutor.cs:线 96点 OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Execute(命令 commandToExecute)in C:\项目\的webdriver \树干\ DOTNET \ SRC \的webdriver \火狐\内部\ ExtensionConnection.cs:线 128在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(DriverCommand 中的driverCommandToExecute,Dictionary`2参数) C:\项目\的webdriver \树干\ DOTNET \ SRC \的webdriver \远程\ RemoteWebDriver.cs:线 795在OpenQA.Selenium.Remote.RemoteWebElement.get_Text()中 C:\项目\的webdriver \树干\ DOTNET \ SRC \的webdriver \远程\ RemoteWebElement.cs:线 96 at WebPages.TableGetRowData(String ctl_name,String name)
[FixtureSetUp]
public void FixtureSetup()
{
{
FirefoxProfile profile = new FirefoxProfile();
driver = new FirefoxDriver(profile);
driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(Convert.ToInt16(timetowait)));
driver.Navigate().GoToUrl(seleniumBrowserUrl + "/admin/Login/Login.aspx");
}
[Test]
[Category(TestCategory.Smoke)]
[Category(TestCategory.Smoke_Players)]
[Metadata(UserStory.Name, UserStory.AP_Wallet)]
public void DeductMoneyFromWallet()
{
struct_Wallet structWalet;
structWalet.Amount = "100,10";
structWalet.Direction = "Debit";
structWalet.Type = "Manual";
structWalet.reason = "Reason Deduct Money";
structWalet.id = "";
DefaultPage defpage = webdrivertester.DefaultPage();
struct_PlayerGridRow player = defpage.ClickFindPlayers()
.PresButtonSearch()
.SelectFisrtPlayer()
.ClickEditWalet()
.getAmount()
.SelectDeductFromWallet()
.TypeInputAmount(structWalet.Amount)
.TypeInputReason(structWalet.reason)
.ClickSumbitWalet()
.ClickWaletPopupOK()
.DeductValue()
.AssertWallet()
.getPlayer();
structWalet.Username = player.username;
driver.Navigate().GoToUrl(seleniumBrowserUrl + "/admin/default.aspx");
DefaultPage defpage1 = webdrivertester.DefaultPage();
defpage1.ClickMoney()
.ClickFundsTransactionLog()
.TypeInputUsername(structWalet.Username)
.Clicksearch()
.ReadFirstrowData()
.AssertRowWithWallet(structWalet);
}
它在此方法中停止“.DeductValue()”,单击弹出窗口后单击“确定”。 Webdriver块,Webdriver等待服务器响应,停止测试后FF正常工作,重新加载页面。没有错误返回。当完成TestFixture运行时,此测试不起作用,当我运行时,此测试工作正常。
TimeSpan ts = new TimeSpan(0, 0, 10);
WebDriverWait wait = new WebDriverWait(WebDriver, ts);
wait.Until(ExpectedConditions.ElementIsVisible(By.XPath(ctl_name)));
我在我的代码中添加了wiat,其中我的页面刷新(按钮点击,链接点击,...) 但有时工作有时并不适用于相同的测试用例。 fopr 100测试案例我花6天部分解决这个问题我花了2天,感觉就像在石头上