Не смог найти информации.
Скорее всего плохо искал, но все же.
Есть есть статический класс который инициализирует драйвер, для этого необходимо передать имя браузера:
public class Driver {
private static WebDriver driver;
public static WebDriver initDriver(BrowserType browserType){
switch (browserType){
case CHROME:
driver = initChromeDriver();
break;
case FIREFOX:
driver = initFireFoxDriver();
break;
default: throw new IllegalArgumentException("Cannot initialize such webdriver.");
}
return driver;
}
private static WebDriver initFireFoxDriver() {
System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir") + "\\src\\test\\resources\\geckodriver.exe");
WebDriver firefoxDriver = new FirefoxDriver();
firefoxDriver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS);
firefoxDriver.manage().window().maximize();
return firefoxDriver;
}
private static WebDriver initChromeDriver() {
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "\\src\\test\\resources\\chromedriver.exe");
WebDriver chromeDriver = new ChromeDriver();
chromeDriver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS);
chromeDriver.manage().window().maximize();
return chromeDriver;
}
}
Драйвер создается в @Before методе
@Before
public void setUpDriver(){
driver = Driver.initDriver(BrowserType.CHROME);
}
Тесты запускаю через сют. И никак не могу разобраться как передать в метод setUpDriver параметр для запуска тестов на нескольких браузерах в JUnit. Так чтобы JUnit сам сначала прогнал весь сют через первый указаний браузер, а потом через второй.
Для примера как это делается в TestNG:
<test name="Test_chrome">
<parameter name="browser" value="Chrome"></parameter>
<classes>
<class name="HomeWorkLesson5"/>
</classes>
</test>
<test name="Test_FireFox">
<parameter name="browser" value="FireFox"></parameter>
<classes>
<class name="HomeWorkLesson5"/>
</classes>
</test>
Есть что-то похожее в JUnit?