Seleniumを使用して、テストの自動化に挑む!JUnit編
こんにちは!
糖質制限ダイエットの成果が徐々に出てきて調子にのってる遠藤です。
今回はSelenium&JUnitを使ってFirefox、Chrome、Safariのブラウザテストを実施します。
JUnitテストコード作成
操作ログの取得
基本編で使用したSelenium IDEを使って操作ログを記録します。
基本編はこちら→https://www.seekcloud.co.jp/blog/memorandum/158
操作ログのエクスポート
操作ログをJUnit向けにエクスポートします。
1.ファイル → テストケースをエクスポート → Java / JUnit4 / WebDriver を選択
Eclipse テストプロジェクト作成
Eclipseにはいつからか標準でJUnitを実行する環境が整っています。
ってわけで、早速ガツガツテスト環境を構築します。!
Eclipse プロジェクト作成
1.ファイル→新規→Java プロジェクトをクリック
2.プロジェクト名に「SeleniumSample」と入力後、完了ボタンをクリック
3.ファイル名に「任意のファイル名java」と入力し、保存をクリック
ここでは「TestCase001.java」と入力します。
Mavenプロジェクトに変更
Mavenプロジェクトに変更して、Mavenでライブラリの管理を行います。
1.プロジェクトを右クリック → 構成 → Mavenプロジェクトへ変換
2.各項目はそのままで、「完了」ボタンをクリック。
レッドブルを飲みながらしばらく待ちます。
Mavenに依存ライブラリを追加
1.「pom.xml」を右クリック → 次で開く → テキスト・エディター をクリック
2.下記のように編集します。
<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>SeleniumSample</groupId> <artifactId>SeleniumSample</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.45.0</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> </project>
Mavenの最新の設定値に関しては、ここを参照してください。
Selenium Maven
http://www.seleniumhq.org/download/maven.jsp
JUnit
http://mvnrepository.com/artifact/junit/junit
プロジェクトのリビルド
Mavenの依存ライブラリを追加したので、プロジェクトをリビルドします。
1.メニューバーの「プロジェクト」 → 「クリーン」をクリック
モンスターエナジーを飲みながらしばらく待ちます。
インポート先パッケージ作成
インポート先のパッケージ作成を作成します。
1.「src」右クリック → 新規 → パッケージ をクリック
2.名前に「com.example.tests」と入力して、「完了」ボタンをクリック
ファイルをインポート
Eclipseのプロジェクトにテストコードをインポートします。
1.先ほど作成したプロジェクトにJUnitテストコードをドラック
2.ファイル操作についてウィンドウが立ち上がったら、そのままOK
テスト実行
いよいよテストを実行します!!!!
1.実行ボタンの右のちっさい「▼」をクリック → 実行 → JUnitテストをクリック
自動でFireFoxが立ち上がり、弊社サイトが表示後、FireFoxが閉じれば成功です!
Chromeでテストを実行する
Chromeで実行するようにします。
WebDriver設置フォルダ作成
プロジェクトフォルダにDriverフォルダを作成します
2.フォルダ名に「Driver」と入力後、「完了」ボタンをクリック
WebDriverダウンロード
1.下記のサイトから最新版のファイルをダウンロードし解凍後、作成したフォルダに設置
http://chromedriver.storage.googleapis.com/index.html
2.ターミナルから実行権限を付与する
chmod +x chromedriver
3.TestCase001.javaを書き換える
書き換え後、importの編成の更新をお忘れなく!
public void setUp() throws Exception { //driver = new FirefoxDriver(); // コメントアウト System.setProperty("webdriver.chrome.driver", "Driver/chromedriver"); // 追記 driver = new ChromeDriver(); // 追記 baseUrl = "http://www.yahoo.co.jp/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); }
4.テスト実行!
Chromeで弊社のサイトが表示されれば成功!!
Safariでテストを実行する
Safariで実行するようにします。
Safariの拡張機能ダウンロード
1.Seleniumの公式サイトからSafariの拡張機能をダウンロード
2.ダウンロードしたファイル「SafariDriver.safariextz」をダブルクリック
Safariに拡張機能がインストールされます。
3.TestCase001.javaを書き換える
書き換え後、importの編成の更新をお忘れなく!
public void setUp() throws Exception { //driver = new FirefoxDriver(); // コメントアウト // System.setProperty("webdriver.chrome.driver", "Driver/chromedriver"); // 追記 // driver = new ChromeDriver(); // 追記 driver = new SafariDriver(); // 追記 baseUrl = "http://www.yahoo.co.jp/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); }
4.テスト実行!
Safariで弊社のサイトが表示されれば成功!!