День добрый.
Можете помочь советом? Пытаюсь написать группу тестов, которые автоматически будут проверятся в разных браузерах (например: Хром, Фаерфокс, Опера, Сафари).
На данный момент придумал лишь перед тестом дописать @RepeatedTest, а в импортируемом файле написал следующую конфигурацию: @BeforeAll
public static void start(){
Configuration.browser = CHROME;
}
@AfterEach
public void closeWebDriver(){
WebDriverRunner.closeWebDriver();
repeat_firefox();
}
Но так я могу проверить лишь в Хроме и Фаерфоксе. Как сделать правильно? Перезапускать группу тестов в разных браузерах? В требуемом количестве браузеров, в требуемой последовательности? Чтобы вся группа целиком в одном браузере, потом в другом, или один тест во всех браузерах, затем следующий тест?
При запуске тестов указывать в командной строке какой браузер использовать. Как - я вам дал ссылку.
Запустить несколько раз для разных браузеров. Т.е. в коде вам не надо указывать что-либо связанное с браузером какой запускать.
Спасибо, хорошо.
А есть ли вариант написать какой-то метод, где вместо браузера будет какая-то переменная, у которой будут подставляться значения: хром, опера, и т д.?
Спасибо, но все же я пытаюсь автоматизировать процесс полностью.
Перефразирую вопрос: надо один раз написать тело теста, но выполнять с условиями:
пройти тест браузер хром;
пройти тест браузер фаерфокс;
пройти тест браузер опера;
Один раз нажимаю кнопку запуска и компутер все делает сам.
Есть вариант просто продублировать группы тестов и перед каждой копией прописывать свои условия:
Configuration.browser = CHROME; @Test
1
2
3
…
Так создайте батник, в котором вы запускаете
тесты в хроме
тесты в фф
тесты в лалалал
и у вас всё запустится в один клик.
Опять же можно программно запускать тесты - TestNG
Установили конфигурацию на нужный браузер - запустили тест. И так в цикле для каждого значения браузера.
Можно указать параметры в самом xml - TestNG и передавать их в @BeforeMethod