Стандартный подход для выполнения теста с несколькими браузерами в Selenium Jupiter
Я просмотрел руководство по Selenium Jupiter и до сих пор не могу понять, как настроить несколько браузеров в Selenium Jupiter для запуска каждого теста в каждом браузере.
Следует ли использовать тестовый шаблон для этой цели?
Я снова не видел примера, как это сделать в Selenium Jupiter?
ps Пример с RemoteDrivers на Selenium Grid.
Вот моя попытка сделать это:
открытый класс BaseTestWithRemoteDrivers {
@RegisterExtension
static SeleniumExtension extension = new SeleniumExtension();
@BeforeAll
public static void setupAll() {
extension.getConfig().setSeleniumServerUrl("http://localhost:4444/wd/hub");
Browser chrome = BrowserBuilder.chrome().build();
Browser firefox = BrowserBuilder.firefox().build();
extension.addBrowsers(chrome, firefox);
}
@Test
public void testWithBrowser(WebDriver driver) {
driver.get("https://www.google.com");
}
@AfterAll
public static void tearDownAll(WebDriver driver) {
driver.quit();
}
К сожалению, откроется только браузер Chrome.
Upd: Я также обнаружил, что есть сообщение:
Список браузеров для идентификатора контекста не найден. Не знаю, как настроить список браузеров, если он нужен.
2 ответа
So far I did not find multi browsers support except
by explicitly putting the browsers type into mvn command like below:
mvn verify -Dtest=BaseTest
-Dsel.jup.selenium.server.url=http://localhost:4444/wd/hub
-Dsel.jup.default.browser=chrome
-Dsel.jup.default.version=80.0.3987.106
```
@ExtendWith(SeleniumExtension.class)
public class BaseTest {
@Test
public void testNumber1(RemoteWebDriver driver) throws {
driver.get("https://www.google.com/");
}
@AfterAll()
public static void tearDown(RemoteWebDriver driver) {
driver.quit();
}
}
```
Все, что вы делаете, - это добавляете более одного аргумента драйвера к вашему методу тестирования. Вот и все.
Это есть в документации. Найти не так уж сложно.