Использование:
C # + WebDriver + NUnit + Grid,
Реализация с использованием Page Object + Page Factory,
WebDriver 3.4.0,
Nunit 3.5.0,
Google Chrome Driver 2.36,
Mozilla Geckodrive 0.20.0,
последнее обновление браузеров Chrome и FF
Я пытаюсь научиться реализовывать параллельные тестовые прогоны. Теперь задача следующая: запустить один TestFixture на узле в двух разных браузерах одновременно. Я делаю так:
[TestFixture("chrome")]
[TestFixture("firefox")]
[Parallelizable(ParallelScope.Fixtures)]
public class LoginTests : BaseObject
{
public LoginTests(string browser)
{
DesiredCapabilities capability = new DesiredCapabilities();
capability.SetCapability("browserName", browser);
driver = new RemoteWebDriver(new Uri("http://192.168.1.63:5555/wd/hub"), capability);
driver.Navigate().GoToUrl(baseUrl);
driver.Manage().Window.Maximize();
}
private static LoginPageHelper LoginPageHelper = new LoginPageHelper();
[Test]
public static void LoginOnMailru()
{
string email = "test.account.damir@mail.ru";
string password = "q123123a";
LoginPageHelper.
DoLogin(email, password);
}
}
После выполнения: запустите 2 браузера одновременно (chrome и FF). Тест полностью прошел в браузере FF. В Chrome выполняется только драйвер. Navigate (). GoToUrl (baseUrl) и появляется ошибка
Имя теста: SendingMailTestForLQ.Tests.LoginTests ("chrome"). LoginOnMailru
Результат: OpenQA.Selenium.NoSuchElementException: Не удалось найти элемент по: By.Id: почтовый ящик: отправить
Что я делаю не так, почему возникает ошибка "Не удалось найти элемент по: By.Id: mailbox: submit"? Спасибо!
Постскриптум Извините за мой английский.