Наша текущая среда тестирования C#/Nunit 2.6.3 имеет набор регрессионных тестов, выполнение которого на одном компьютере занимает более 35 часов, а некоторые тесты длятся до 20 минут. Настройка пакетов тестов для запуска на нескольких машинах занимает много времени и неэффективна, поэтому я пытаюсь перенести тесты на NUnit 3, чтобы получить преимущества параллельного выполнения в Selenium Grid.
Моя цель - иметь 12 узлов, на каждом из которых работает один экземпляр IE. Однако похоже, что тестовый адаптер NUnit3 для VS пытается запустить все тесты одновременно.
Поскольку я всегда буду выполнять тесты на большем количестве приборов, чем у меня будет узлов, важно, чтобы приборы находились в очереди до тех пор, пока узел не станет доступным. На практике тестовому приспособлению может потребоваться несколько часов ожидания свободного узла. Для моего текущего эксперимента с конфигурацией у меня есть следующие настройки:
- Хаб со следующей конфигурацией:
java -jar selenium-server-standalone-2.48.2.jar -role hub -newSessionWaitTimeout:-1 -browserTimeout 120 -timeout 3600
Один узел в конфигурации по умолчанию.
Два тестовых стенда, в каждом по 10 тестов. Тестовые приборы имеют следующий атрибут:
[Parallelizable(ParallelScope.Self)]
В этой ситуации я ожидаю, что, поскольку только один узел поддерживает один экземпляр IE, будет выполнен только один тест. Затем концентратор отправлял следующий тест в очереди на узел, когда он освобождался. Однако похоже, что оба тестовых прибора запускаются одновременно. Один тест передается узлу, но тесты на другом приборе не выполняются со следующим сообщением:
Сообщение о результате:
OpenQA.Selenium.WebDriverException: HTTP-запрос к удаленному серверу WebDriver для URL http://localhost:4444/wd/hub/session истекло через 60 секунд. ----> System.Net.WebException: время ожидания операции истекло
Когда я использовал сетку в Eclipse в среде Java/JUnit, у меня не было проблем. Концентратор будет ставить тесты в очередь до тех пор, пока узел не освободится без тайм-аута, используя конфигурацию по умолчанию.
Кто-нибудь знает правильную конфигурацию или это проблема с тестовым адаптером NUnit 3? Выбор браузера, к сожалению, зафиксирован как IE.