MavenでWebDriverの管理にはwebdriverextensionsが便利そう #geb #e2e
概要
Gebを使ったE2Eテストに挑戦しているのだけれど、WebDriverの管理にはwebdriverextensionsが便利そう。
Mavenプラグインが提供されているので、ドライバーを都度インストールしたり、バイナリファイルをプロジェクトで管理しなくて済むようになる。
pom.xmlにplugin追記
<build> <plugins> ... <plugin> <groupId>com.github.webdriverextensions</groupId> <artifactId>webdriverextensions-maven-plugin</artifactId> <version>3.1.1</version> <executions> <execution> <goals> <goal>install-drivers</goal> </goals> </execution> </executions> <configuration> <drivers> <driver> <name>chromedriver</name> <platform>mac</platform> <bit>64</bit> <version>2.33</version> </driver> </drivers> </configuration> </plugin> ... </plugins> </build>
install-driversがデフォルトだとgenerate-sourcesフェーズで実行され、driversで設定したWebDriverが ${basedir}/drivers
にダウンロードされる(場所は変更することも可能)。
上記の例だと、Mac用のChromeWebDriverがダウンロードされる。
*.version
にはdriverの情報が載っている
{ "name": "chromedriver", "platform": "mac", "bit": "64", "version": "2.27.0", "url": "http://chromedriver.storage.googleapis.com/2.27/chromedriver_mac64.zip" }
補足
- internetexplorerdriverやgeckodriverもある
- download locationの変更も可能
- 最新とかに追従しきれていないときは便利かも
drivers/
は.gitignore
に入れておこう