menu
書いてる野郎
orebike@gmail.com
こちらでやったほうがよい maven でやるとしても同様に読み替えればよい
build.gradle
compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59' compile group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '3.1.1' compile group: 'com.codeborne', name: 'selenide', version: '5.1.0'
webdrivermanager というのが後でよろしくやってくれる。
Chrome を入れる
https://www.google.com/chrome/
普通に公式で用意されているので、それを入れるだけ
package selenide_sample_01; import static com.codeborne.selenide.Selenide.*; import com.codeborne.selenide.Configuration; import com.codeborne.selenide.WebDriverRunner; import org.junit.Test; public class SelenideTest { @Test public void testHogeHoge() { //System.setProperty("webdriver.chrome.driver", "/hoge/piyo/fuga/chromedriver"); Configuration.browser = WebDriverRunner.CHROME; open("https://www.yahoo.co.jp/"); } }
手動の場合と似ているが、Configuration.browser の値をセットすると webdrivermanager が勝手にあとはやってくれる。
Linux Mint 18 で検証
Selenium のラッパーなので Selenium をインストールする必要がある
$ sudo apt install python-selenium
python3 版もあるが、現状入っている python が 2.7 だったのでこちらを選択
ブラウザのオートパイロットツールなので当然ブラウザが必要になる。 最新の Firefox には Selenium 側の対応が遅れているようなので Chrome を入れる
https://www.google.com/chrome/
普通に公式で用意されているので、それを入れるだけ
こいつを Selenium 側から制御するための WebDriver をダウンロード。 Downloads - ChromeDriver - WebDriver for Chrome
Linux 版。
解凍して適当なディレクトリに設置する(実行時に指定する)。
Eclipse を立ち上げてとりあえず Java Project を適当に1個作る。
Eclipse の Java Project を Maven Project に変換して pom ファイルを用意する。
このように設定する。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>selenide_sample_01</groupId> <artifactId>selenide_sample_01</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.codeborne</groupId> <artifactId>selenide</artifactId> <version>4.13.1</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> </project>
それぞれ現時点での最新のバージョンにした。
再び Eclipse の Java Project として pom の内容を反映させる
$ mvn eclipse:eclipse
一応 Project をリフレッシュする。
サンプルのテストコードを書く
package selenide_sample_01; import static com.codeborne.selenide.Selenide.*; import com.codeborne.selenide.Configuration; import com.codeborne.selenide.WebDriverRunner; import org.junit.Test; public class SelenideTest { @Test public void testHogeHoge() { System.setProperty("webdriver.chrome.driver", "/hoge/piyo/fuga/chromedriver"); Configuration.browser = WebDriverRunner.CHROME; open("https://www.yahoo.co.jp/"); } }
このようにして JUnit Test を実行すると。Chrome が一瞬起動して、Yahoo のサイトにアクセスして、ロードが終わった瞬間に閉じているのがわかる。 これで OK だろう。