C # + NUnit + Selenium Grid - параллельный запуск нескольких браузеров на одном узле - PullRequest
0 голосов
/ 03 мая 2018

Использование: 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"? Спасибо! Постскриптум Извините за мой английский.

...