У меня проблемы с использованием Firefoxdriver()
. Когда скрипт nant выполняется для запуска всех тестов, иногда тестовые случаи не выполняются. В одном случайном тестовом случае происходит сбой, потому что Webdriver ожидает ответа от сервера, все последующие тестовые случаи не проходят.
FF больше не отвечает, Webdriver зависает.
Дополнительно, когда все тесты заканчиваются, FF не закрывается, но должен быть.
Я думаю, причина в том, что веб-драйвер не может обработать запрос от сервера.
Все тесты, когда они выполняются вручную, прекрасно работают, но когда все выполняются в блоке скрипта webdriver.
В моем случае страницы отвечают.
- Firefox: 11
- Webdriver: 2.0.19
- Windowx XP
- MbUnit Gallio, Nant
- с #
Не могли бы вы помочь?
.log:
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: \ Projects \ WebDriver \ магистральный \ DotNet \ SRC \ WebDriver \ Remote \ HttpCommandExecutor.cs: линии
115 в OpenQA.Selenium.Remote.HttpCommandExecutor.Execute (Command
commandToExecute) в
C: \ Projects \ WebDriver \ магистральный \ DotNet \ SRC \ WebDriver \ Remote \ HttpCommandExecutor.cs: линии
96 в
OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Execute (Command
commandToExecute) в
C: \ Projects \ WebDriver \ магистральный \ DotNet \ SRC \ WebDriver \ Firefox \ Внутренние \ ExtensionConnection.cs: линия
128 в OpenQA.Selenium.Remote.RemoteWebDriver.Execute (DriverCommand
driverCommandToExecute, словарь`2 параметров) в
C: \ Projects \ WebDriver \ магистральный \ DotNet \ SRC \ WebDriver \ Remote \ RemoteWebDriver.cs: линия
795 в OpenQA.Selenium.Remote.RemoteWebElement.get_Text () в
C: \ Projects \ WebDriver \ магистральный \ DotNet \ SRC \ WebDriver \ Remote \ 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 дня, чувствую себя как в камне