あなたはここにWebDriver Extensionsフレームワークの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);
}
}
ためにグーグルの例のテストは、ちょうどあなたのMavenのpom.xmlの依存関係の中でWebDriver Extensionsフレームワークを追加することを確認しています
<dependency>
<groupId>com.github.webdriverextensions</groupId>
<artifactId>webdriverextensions</artifactId>
<version>1.2.1</version>
</dependency>
ドライバはp rovided mavenプラグイン。単にpom.xmlに
<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>
を追加してください。または、手動でダウンロードする場合は、
@DriverPaths(chrome="path/to/chromedriver", internetExplorer ="path/to/internetexplorerdriver")
の注釈をドライバに指定するだけで、テストクラスに注釈を付けることができます。
上記の例では、WebDriver Extensions 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");
}
私はParametrizedアプローチで複数のブラウザのテストケースを自動化しました。私は[リンク](https://stackoverflow.com/questions/22051705/how-to-parameterize-junit-test-suite/27956177#27956177)に記載されている例を使用しました – Knu8