Вы можете использовать WebDriver Extensions Framework в JUnitRunner
Вот пример теста прибегая к помощи "Hello World"
@RunWith(WebDriverRunner.class)
@Firefox
@Chrome
@InternetExplorer
public class WebDriverExtensionsExampleTest {
// Model
@FindBy(name = "q")
WebElement queryInput;
@FindBy(name = "btnG")
WebElement searchButton;
@FindBy(id = "search")
WebElement searchResult;
@Test
public void searchGoogleForHelloWorldTest() {
open("http://www.google.com");
assertCurrentUrlContains("google");
type("Hello World", queryInput);
click(searchButton);
waitFor(3, SECONDS);
assertTextContains("Hello World", searchResult);
}
}
просто убедитесь, чтобы добавить WebDriver Extensions рамки среди своих зависимостей pom.xml Maven
<dependency>
<groupId>com.github.webdriverextensions</groupId>
<artifactId>webdriverextensions</artifactId>
<version>1.2.1</version>
</dependency>
Драйверы можно скачать, используя p платный плагин maven. Просто добавьте
<plugin>
<groupId>com.github.webdriverextensions</groupId>
<artifactId>webdriverextensions-maven-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<goals>
<goal>install-drivers</goal>
</goals>
</execution>
</executions>
<configuration>
<drivers>
<driver>
<name>internetexplorerdriver</name>
<version>2.44</version>
</driver>
<driver>
<name>chromedriver</name>
<version>2.12</version>
</driver>
</drivers>
</configuration>
</plugin>
к вашему pom.xml. Или, если вы предпочитаете загружать их вручную, просто комментируйте тестовый класс с помощью
@DriverPaths(chrome="path/to/chromedriver", internetExplorer ="path/to/internetexplorerdriver")
аннотация, указывающая на драйверы.
Обратите внимание, что в приведенном выше примере используются статические методы из расширений WebDriver Bot class, чтобы сделать тест более удобочитаемым. Однако вы не привязаны к их использованию. Вышеупомянутый тест, переписанный в чистом Selenium WebDriver, будет выглядеть так:
@Test
public void searchGoogleForHelloWorldTest() throws InterruptedException {
WebDriver driver = WebDriverExtensionsContext.getDriver();
driver.get("http://www.google.com");
assert driver.getCurrentUrl().contains("google");
queryInput.sendKeys("Hello World");
searchButton.click();
SECONDS.sleep(3);
assert searchResult.getText().contains("Hello World");
}
Я автоматизировал свои тестовые примеры для нескольких браузеров с параметризованным подходом. Я использовал пример, упомянутый в [link] (https://stackoverflow.com/questions/22051705/how-to-parameterize-junit-test-suite/27956177#27956177) – Knu8