SlideShare a Scribd company logo
1 of 66
株式会社シーケンス 
Nov. 14, 2014
ご挨拶 
株式会社シーケンス代表取締役 
篠原康行 
我々は、オレンジソフト様からテスト自動化のお話をいただき、 
2014年3月から約8ヵ月に渡り、Selenium IDEに使ったテスト自動化 
に取り組んで参りました。 
今回のセミナーでは、その取り組みで得られた知見等をこの場で 
ご報告させて頂きたいと思います。 
また、今後のテスト自動化の普及に繋がれば幸いです。 
テスト対象アプリケーション: xgate4 (Webメールソフト) 
※メール誤送信対策機能搭載 
製造元: 株式会社オレンジソフト
内容 
1. Seleniumとは 
2. Selenium何がいいの? 
3. Seleniumいろいろあるけど・・・ 
4. Selenium IDEを使う 
5. テスト自動化を行うにあたって 
Q&A
1.Seleniumとは 
Webブラウザを使ったWebアプリケーションのテスト 
を自動化するツール 
- 始まりは、社内ツール(2004) 
- オープンソースソフトウェア(OSS) 
ライセンス: Apache 2.0 License 
- Seleniumプロジェクトhttp://www.seleniumhq.org/ 
- ターゲットブラウザFireFox, IE, Chrome, Safari
2.Selenium何がいいの? 
1. 手入力要素のテスト 
2. 複数条件のテスト 
3. 表示内容のテスト 
4. テストの記録 
5. テスターに依存しない 
6. マルチブラウザでのテスト 
7. 思いかけないけど意外にいいかも
2-1.手入力要素のテスト 
手入力要素のテストを自動化できる 
入力条件の明確化 
入力時間の短縮 
手作業によるケアレスミスを防ぐ 
例.文字種と文字数制限のテスト 
[ひらがな]入力ができるかを確認する 
[128文字]以上の入力はできないことを確認す 
る
2-2.複数条件のテスト 
複数の要素を組み合わせたテストケースの作成が容易 
例.検索を行う
2-2.複数条件のテスト 
複数の要素を組み合わせたテストケースの作成が容易 
例.検索を行う
2-2.複数条件のテスト 
複数の要素を組み合わせたテストケースの作成が容易 
例.検索を行う
2-2.複数条件のテスト 
複数の要素を組み合わせたテストケースの作成が容易 
例.検索を行う
2-2.複数条件のテスト 
複数の要素を組み合わせたテストケースの作成が容易 
例.検索を行う
2-2.複数条件のテスト 
複数の要素を組み合わせたテストケースの作成が容易 
例.検索を行う
2-2.複数条件のテスト 
複数の要素を組み合わせたテストケースの作成が容易 
例.検索を行う
2-3.表示内容のテスト 
ページに表示されるべき内容の確認が容易である 
例.メニュー項目の確認
2-4.テストの記録 
エビデンスを作成しやすい 
 テスト内容や結果についてコメントを入力可能 
 テストの入力内容や画面遷移を記録可能 
 テストの結果をログファイルに出力可能 
 記録に残すことで、Webアプリケーション更新の影 
響を確認可能
2-4.テストの記録 
エビデンスを作成しやすい 
 テスト内容や結果についてコメントを入力可能 
 テストの入力内容や画面遷移を記録可能 
 テストの結果をログファイルに出力可能 
 記録に残すことで、Webアプリケーション更新の影 
響を確認可能
2-4.テストの記録 
エビデンスを作成しやすい 
 テスト内容や結果についてコメントを入力可能 
 テストの入力内容や画面遷移を記録可能 
 テストの結果をログファイルに出力可能 
 記録に残すことで、Webアプリケーション更新の影 
響を確認可能
2-4.テストの記録 
エビデンスを作成しやすい 
 テスト内容や結果についてコメントを入力可能 
 テストの入力内容や画面遷移を記録可能 
 テストの結果をログファイルに出力可能 
 記録に残すことで、Webアプリケーション更新の影 
響を確認可能
2-4.テストの記録 
エビデンスを作成しやすい 
 テスト内容や結果についてコメントを入力可能 
 テストの入力内容や画面遷移を記録可能 
 テストの結果をログファイルに出力可能 
 記録に残すことで、Webアプリケーション更新の影 
響を確認可能
2-4.テストの記録 
エビデンスを作成しやすい 
更新した箇 
所 
 テスト内容や結果についてコメントを入力可能 
 テストの入力内容や画面遷移を記録可能 
 テストの結果をログファイルに出力可能 
 記録に残すことで、Webアプリケーション更新の影 
響を確認可能
2-5.テスターに依存しない 
 自動化することでテスターによるテストの深さのバ 
ラツキを防ぐ 
- 仕様を明確できる 
- テストデータもSeleniumで作成することでテスターに 
依存しない 
- 大量のテストデータを作成しやすい 
 手作業によるケアレスミスを防ぐことが容易である
2-6.マルチブラウザでのテスト 
各種ブラウザでテストケースを実行可能 
 主なブラウザ 
- FireFox, IE, Chrome, Safari 
 実行形式 
- SeleniumIDEを使用した実行 
- SeleniumRCでの実行 
- プログラミングにて実行可能 
主なプログラミング言語Java, C#, Ruby, Python 
 ブラウザ間の差違を発見しやすい
2-7.デグレードしにくい 
 Webアプリケーションを更新した際にデグレードし 
ていないか確認しやすい
2-7.デグレードしにくい 
 Webアプリケーションを更新した際にデグレードし 
更新した箇 
ていないか確認しやすい 
所
2-7.思いかけないけど 
意外にいいかも 
開発者が自身のWebアプリケーションの確認に 
Selenium を使用すると、意外にいいかも 
 Seleniumで確認しやすい記述を意識するようになり、 
標準的な記述を行うようになるのでは・・・ 
 開発時にデグレードを発見しやすい 
 開発者自身にとって 
単体テストのエビデンスを取ることができる
3. Seleniumいろいろあるけど・・・ 
Selenium 
Grid 
WebDriver 
Selenium3 
モバイル強化 
Selenium RC 
(Selenium1) 
Selenium 2 
Visual型ツー 
ル 
Selenium IDE 
SeleniumBuilder 
モバイル向け 
ios-driver 
Selendroid 
Appium
3-1.Selenium RC (Remote Control) - ① 
Seleniumスクリプト(HTML形式)をコマンドラインから実行する
3-1.Selenium RC (Remote Control) - ② 
コマンドライン 
Selenium Server 
>java -jar selenium-server-standalone-2.41.0.jar 
-htmlSuite *googlechrome 
WebブラウザはChrome 
Webアプリケーション 
URL 
http://xgate4.orangesoft.co.jp/xgate48/grp/test/b 
テストスイーツのパステスト結果を出力するファ 
イル 
E:JobOrangeSofttsTest.html e:loglog.html
3-1.Selenium RC (Remote Control) - ② 
コマンドライン 
Selenium Server 
>java -jar selenium-server-standalone-2.41.0.jar 
-htmlSuite *googlechrome 
WebブラウザはChrome 
Webアプリケーション 
URL 
http://xgate4.orangesoft.co.jp/xgate48/grp/test/b 
テストスイーツのパステスト結果を出力するファ 
イル 
E:JobOrangeSofttsTest.html e:loglog.html
3-1.Selenium RC (Remote Control) - ③ 
Seleniumスクリプトは、Seleniumコマンドの組み合わせの他、JavaScriptを 
使ったテストも記述できる
3-1.Selenium RC (Remote Control) - ④
3-2.WebDriverとSelenium2 
WebブラウザをコントロールするAPI群 
WebDriver API 
特別なテストケース、SeleniumコマンドとJavaScriptでは記述が 
難しいテストケース、あるいは、テストスピードを速くしたいな 
ど 
 Java, C#, Ruby, Python他の言語で作成したい場合 
マルチブラウザ対応したい、テストレポートを細かにしたい、 
etc... 
 主なWebDriver 
ChromeDriver, FirefoxDriver, InternetExplorerDriver, 
SafariDriver, AndroidDriver, ios-driver 
 主流Selenium 1 + WebDriver = Selenium 2
3-3.Visual型ツール- ① 
Selenium IDE 
- Seleniumテスト用の統合開発環境 
- 入力操作の自動記録・再生 
- スクリプトを手動で記述・編集・デバッグ 
- テストケースをその場で実行・検証できる 
- 複数テストケースをテストスイーツとしてまとめてテスト 
- ブラウザ内のテスト画面を保存可能 
- テストケースをHTML、Ruby、Python、Java、C#など多様な形式 
で保存可能デフォルトは、HTML形式 
- JavaScriptをスクリプト内または拡張スクリプトファイルにて使 
用可能(拡張スクリプト使用時:user-extensions.js必須、.js追加 
可能) 
- FireFoxアドオン 
- 多種多様なプラグイン(ログファイル出力、制御構造など) 
- テスト結果をレポートにまとめやすい
3-3.Visual型ツール- ① 
Selenium IDE 
- Seleniumテスト用の統合開発環境 
- 入力操作の自動記録・再生 
- スクリプトを手動で記述・編集・デバッグ 
- テストケースをその場で実行・検証できる 
- 複数テストケースをテストスイーツとしてまとめてテスト 
- ブラウザ内のテスト画面を保存可能 
- テストケースをHTML、Ruby、Python、Java、C#など多様な形式 
で保存可能デフォルトは、HTML形式 
- JavaScriptをスクリプト内または拡張スクリプトファイルにて使 
用可能(拡張スクリプト使用時:user-extensions.js必須、.js追加 
可能) 
- FireFoxアドオン 
- 多種多様なプラグイン(ログファイル出力、制御構造など) 
- テスト結果をレポートにまとめやすい
3-3.Visual型ツール- ② 
Selenium Builder 
- Seleniumテスト用の統合開発環境 
- SeleniumIDEとほぼ同じ機能を持つ 
- WebDriverのコマンドをスクリプトに記述可能 
Seleniumコマンドより細やかなテストケースを作成可 
能 
プログラミング向き 
- FireFoxアドオン
3-3.Visual型ツール- ② 
Selenium Builder 
- Seleniumテスト用の統合開発環境 
- SeleniumIDEとほぼ同じ機能を持つ 
- WebDriverのコマンドをスクリプトに記述可能 
Seleniumコマンドより細やかなテストケースを作成可 
能 
プログラミング向き 
- FireFoxアドオン
3-3.Visual型ツール- ② 
Selenium Builder 
- Seleniumテスト用の統合開発環境 
- SeleniumIDEとほぼ同じ機能を持つ 
- WebDriverのコマンドをスクリプトに記述可能 
Seleniumコマンドより細やかなテストケースを作成可 
能 
プログラミング向き 
- FireFoxアドオン
3-3.Visual型ツール- ② 
Selenium Builder 
- Seleniumテスト用の統合開発環境 
- SeleniumIDEとほぼ同じ機能を持つ 
- WebDriverのコマンドをスクリプトに記述可能 
Seleniumコマンドより細やかなテストケースを作成可 
能 
プログラミング向き 
- FireFoxアドオン
3-3.Visual型ツール- ③ 
IDEとBuilder どちらを使う? 
Seleniumプロジェクトとしては、いずれはSeleniumコ 
マンドからWebDriverコマンドへ全面的に移行したいの 
で、Builderを推奨したいようである 
しかし、歴史が浅い(2013年初め頃)こともあり、 
まだ実用性は低い 
Builderの不便な点として 
•UIが使いづらい 
•変数を複数のテストケースで共有できない 
•データ駆動型のテストができない 
•対応ブラウザはFireFoxのみ 
これらは、テストツールを使う上では問題なので、や 
はりSeleniumIDEを選択した方が良いでしょう
3-3.Visual型ツール- ③ 
IDEとBuilder どちらを使う? 
個人的には、SeleniumIDEは、 
とても使いやすいので、 
WebDriverコマンドを記述でき 
るようになって存続してほしい 
と思います・・・今もIDEは更 
新しているので期待しています 
SeleniumIDEはWebアプリ 
ケーションやプログラミングに 
精通していなくても扱いやすい 
とも思います 
Seleniumプロジェクトとしては、いずれはSeleniumコ 
マンドからWebDriverコマンドへ全面的に移行したいの 
で、Builderを推奨したいようである 
しかし、歴史が浅い(2013年初め頃)こともあり、 
まだ実用性は低い 
Builderの不便な点として 
•UIが使いづらい 
•変数を複数のテストケースで共有できない 
•データ駆動型のテストができない 
•対応ブラウザはFireFoxのみ 
これらは、テストツールを使う上では問題なので、や 
はりSeleniumIDEを選択した方が良いでしょう
3-4.Selenium Grid 
 複数のマシンにテストを自動で分散させるツール 
Webアプリケー 
ション 
Windows 
IE 
MAC 
Safari 
Android 
Windows 
FireFox 
Selenium Grid Serever 
テストスクリ 
プト 
・・・
3-5.モバイル向け- ① 
 本家Seleniumとしてはスマホ向けSeleniumの開発は中止 
(TL;DR: We’re retiring Selenium’s own AndroidDriver and iPhoneDriver in favour of any of Selendroid, 
iosdriver and Appium. If you’re using one of Selenium’s own mobile drivers, please evaluate one of these 
alternatives.) 
 iOS向け: ios-driver 
今のところiOSシミュレータ上のみで動作 
 Android向け: Selendroid 
Androidエミュレータで動作/実機はselendroid-standalone 
コンポーネントを組み込んで動作 
 iOS, Android 向け: Appium 
Sauce Labs社が開発 
 テストケースは、Java/Ruby/Python/C#で記述 
一部、JavaScript可能とのこと
3-5.モバイル向け- ② 
 モバイル向けのWebDriverは、未だ実用性が低いようで 
ある 
Appiumが実用に一番近いように見受けられる 
 モバイル向けテスト方法の提案として 
FireMobileSimulatorを使用してSeleniumIDEにてテス 
トを実行可能
3-5.モバイル向け- ② 
 モバイル向けのWebDriverは、未だ実用性が低いようで 
ある 
Appiumが実用に一番近いように見受けられる 
 モバイル向けテスト方法の提案として 
FireMobileSimulatorを使用してSeleniumIDEにてテストを実行 
可能
4.Selenium IDEを使う- ① 
 インストール 
 Firefoxでhttp://docs.seleniumhq.org/download/にアク 
セスする 
 Download latest released version 2.8.0 released on 
29/Sep/2014 
ここをクリック
4.Selenium IDEを使う- ② 
 起動 
 メニュー→ 開発ツール→ Selenium IDE 
または 
 ツールバーのSelenium IDE アイコンをクリック
4.Selenium IDEを使う- ③ 
 初めての起動 
テストケース一 
覧 
太字になってい 
るテストケース 
が編集の対象 
ここに編集対象テストケー 
スのコマンドソースを表示 
ここに実行時のロ 
グ
4.Selenium IDEを使う- ④ 
 テストケースまたは 
テストスイーツの 
読み込み
4.Selenium IDEを使う- ⑤
4.Selenium IDEを使う- ⑥ 
実行速度の 
調整 
テストスイー 
ツ全体を実行 
対象テスト 
ケースを実行 
rollupコマン 
ドを組み込む 
デバッグ用 
[一時停止/再開] 
[1ステップ実行] 
拡張スクリプ 
トの再読み込 
み 
テストの記録 
開始/停止
4.Selenium IDEを使う- ⑦ 
 編集する
4.Selenium IDEを使う- ⑦ 
 編集する 
例.編集の様子
4.Selenium IDEを使う- ⑧ 
 デバッグをする 
例.デバッグの様子
4.Selenium IDEを使う- ⑨ 
その他いろいろ 
 マルチブラウザでは・・・ 
FireFoxの他にChrome、IEで動作可能 
但し、Chrome、IEでの編集は実行前のみ、実行 
後の編集は即時実行はできない- 実例 
参考:IDEを他のブラウザで動作させる 
 スクリプトファイルは、HTML形式で出力- テキストエディタで編集可能 
 スクリプトファイルをエクスポートすることで、さらに細やかなテストケースを作成 
できるJava, C#, Ruby, Python 
 拡張スクリプトファイルを取り込むことができる 
複数指定できるが、1つはuser-extensions.jsであること 
メニューから[オプション]→ [設定]でOptionダイアログ表示
4.Selenium IDEを使う- ⑨ 
その他いろいろ 
 マルチブラウザでは・・・ 
Chrome、IEで動作可能 
但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 
参考:IDEを他のブラウザで動作させる 
 スクリプトファイルは、HTML形式で出力- 
テキストエディタで編集可能 
 スクリプトファイルをエクスポートすることで、さらに細やかなテスト 
ケースを作成できるJava, C#, Ruby, Python 
 拡張スクリプトファイルを取り込むことができる 
複数指定できるが、1つはuser-extensions.jsであること 
メニューから[オプション]→ [設定]でOptionダイアログ表示
4.Selenium IDEを使う- ⑨ 
その他いろいろ 
 マルチブラウザでは・・・ 
Chrome、IEで動作可能 
但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 
参考:IDEを他のブラウザで動作させる 
 スクリプトファイルは、HTML形式で出力- 
テキストエディタで編集可能 
 スクリプトファイルをエクスポートすることで、さらに細やかなテスト 
ケースを作成できるJava, C#, Ruby, Python 
他のエディタ 
を使用して作 
 拡張スクリプトファイルを取り込むことができる 
複数指定できるが、1つはuser-extensions.jsであること 
成可能 
メニューから[オプション]→ [設定]でOptionダイアログ表示
4.Selenium IDEを使う- ⑨ 
その他いろいろ 
 マルチブラウザでは・・・ 
Chrome、IEで動作可能 
但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 
参考:IDEを他のブラウザで動作させる 
 スクリプトファイルは、HTML形式で出力- テキストエディタで編集可 
能 
 スクリプトファイルをエクスポートすることで、 
さらに細やかなテストケースを作成できる 
Java, C#, Ruby, Python 
 拡張スクリプトファイルを取り込むことができる 
複数指定できるが、1つはuser-extensions.jsであること 
メニューから[オプション]→ [設定]でOptionダイアログ表示
4.Selenium IDEを使う- ⑨ 
その他いろいろ 
 マルチブラウザでは・・・ 
Chrome、IEで動作可能 
但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 
参考:IDEを他のブラウザで動作させる 
 スクリプトファイルは、HTML形式で出力- テキストエディタで編集可 
能 
 スクリプトファイルをエクスポートすることで、 
さらに細やかなテストケースを作成できる 
Java, C#, Ruby, Python 
 拡張スクリプトファイルを取り込むことができる 
複数指定できるが、1つはuser-extensions.jsであること 
メニューから[オプション]→ [設定]でOptionダイアログ表示
4.Selenium IDEを使う- ⑨ 
その他いろいろ 
 マルチブラウザでは・・・ 
Chrome、IEで動作可能 
但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 
参考:IDEを他のブラウザで動作させる 
 スクリプトファイルは、HTML形式で出力- テキストエディタで編集可 
能 
 スクリプトファイルをエクスポートすることで、さらに細やかなテストケー 
スを作成できるJava, C#, Ruby, Python 
 拡張スクリプトファイルを取り込むことができ 
る 
複数指定できるが、1つはuser-extensions.jsであ 
ること 
メニューから[オプション]→ [設定]でOptionダイアログ
4.Selenium IDEを使う- ⑨ 
その他いろいろ 
 マルチブラウザでは・・・ 
Chrome、IEで動作可能 
但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 
参考:IDEを他のブラウザで動作させる 
 スクリプトファイルは、HTML形式で出力- テキストエディタで編集可 
能 
 スクリプトファイルをエクスポートすることで、さらに細やかなテストケー 
スを作成できるJava, C#, Ruby, Python 
 拡張スクリプトファイルを取り込むことができ 
る 
複数指定できるが、1つはuser-extensions.jsであ 
ること 
メニューから[オプション]→ [設定]でOptionダイアログ
5.テストの自動化を行うにあたって- ① 
テスト自動化を導入できないのは? 
主に次の2点が考えられる 
 SeleniumIDEでFireFoxのテストケースを作成するこ 
とは容易であることはわかるが、実際は他ブラウザ 
での動作確認を必要とするのでプログラミングを行 
う必要がある。しかし、Seleniumコマンドと 
SeleniumAPIそしてWebDriverの扱い方を習得する時 
間を取ることができない 
 全てを自動化できるものとして導入してしまうと 
Seleniumにとって不得手な対応に工数がかかってし 
まう
5.テストの自動化を行うにあたって- ① 
テスト自動化を導入できないのは? 
主に次の2点が考えられる 
 SeleniumIDEでFireFox例えば 
のテストケースを作成するこ 
とは容易であること要素はのわ位置かがる深すがぎる 
、実際は他ブラウザ 
マウスカーソルが手マークに変化 
での動作確認を必す要る 
とするのでプログラミングを行 
スクロールバーを表示する 
う必要がある。しなかどし動的、に変Selenium化するのは苦コ手 
マンドと 
SeleniumAPIそしてWebDriverの扱い方を習得する時 
間を取ることができない 
 全てを自動化できるものとして導入してしまうと 
Seleniumにとって不得手な対応に工数がかかってし 
まう
5.テストの自動化を行うにあたって- ② 
テストを自動化した場合のメリットを考えるとSeleniumを使用 
したい 
A) 手入力要素の多いWebアプリケーションでは入力できる文 
字種と文字数など入力条件を設定できる為、手入力確認に 
よるテスト漏れ・テストの不十分さをカバーする 
B) Webアプリケーションの条件設定によるテストのように複 
数の要素をマトリックス的に組み合わせたテストケースの 
作成が容易である 
C) 表示内容の確認が容易である 
D) テストの状況、結果とそのスクリーンショットを記録とし 
て残すことができる 
E) テスターに依存しない為、何度でも同じテストを同じ条件 
で行う事ができる 
F) Webアプリケーションの変更による影響の有無を確認でき 
る 
G) ブウラウザ間の差違を発見しやすくなる
5.テストの自動化を行うにあたって- ③ 
 開発に取り入れた場合の例 
各種ブラウザ 
Seleniumで確認 
開発 
結合 
! NG ! 
Seleniumで確認 
(結合テスト) 
Seleniumで確認 
(単体テスト) 
! NG !
Q&A
ありがとうございました 
テスト対象アプリケーション: xgate4 (Webメールソフト) 
※メール誤送信対策機能搭載 
製造元: 株式会社オレンジソフト: 
http://www.orangesoft.co.jp/products/xgate/xgate4/ 
(株)シーケンスURL : http://www.e-sqc.co.jp/ 
Selenium メモ(blog) : http://selenium-memo.blogspot.jp/ 
実体験(blog) : http://selenium-memo2.blogspot.jp/

More Related Content

What's hot

Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトークSeleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトークY Watanabe
 
20141018 selenium appium_cookpad
20141018 selenium appium_cookpad20141018 selenium appium_cookpad
20141018 selenium appium_cookpadKazuaki Matsuo
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Naoto Kishino
 
テスト自動化ツール[Selenium]を検討してみて
テスト自動化ツール[Selenium]を検討してみてテスト自動化ツール[Selenium]を検討してみて
テスト自動化ツール[Selenium]を検討してみて裕史 川松
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界Nozomi Ito
 
ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズJumpei Miyata
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4Naoya Kojima
 
Selenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成についてSelenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成についてyufu yufu
 
サイボウズLiveの開発を支えるSeleniumテスト
サイボウズLiveの開発を支えるSeleniumテストサイボウズLiveの開発を支えるSeleniumテスト
サイボウズLiveの開発を支えるSeleniumテストKazufumi Fukushima
 
Selenium2(web driver) ide編
Selenium2(web driver) ide編Selenium2(web driver) ide編
Selenium2(web driver) ide編Tetsuya Hasegawa
 
Selenium入門
Selenium入門Selenium入門
Selenium入門onozaty
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようAzureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようNaoya Kojima
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術finoue
 
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化Nozomi Ito
 
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果wwNozomi Ito
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルにHiroko Tamagawa
 
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会Hiroshi Toda
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpYahoo!デベロッパーネットワーク
 

What's hot (20)

Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトークSeleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
 
20141018 selenium appium_cookpad
20141018 selenium appium_cookpad20141018 selenium appium_cookpad
20141018 selenium appium_cookpad
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
 
テスト自動化ツール[Selenium]を検討してみて
テスト自動化ツール[Selenium]を検討してみてテスト自動化ツール[Selenium]を検討してみて
テスト自動化ツール[Selenium]を検討してみて
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
 
ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズ
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4
 
Selenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成についてSelenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成について
 
サイボウズLiveの開発を支えるSeleniumテスト
サイボウズLiveの開発を支えるSeleniumテストサイボウズLiveの開発を支えるSeleniumテスト
サイボウズLiveの開発を支えるSeleniumテスト
 
Selenium2(web driver) ide編
Selenium2(web driver) ide編Selenium2(web driver) ide編
Selenium2(web driver) ide編
 
Selenium入門
Selenium入門Selenium入門
Selenium入門
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようAzureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
 
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
 
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
 
Selenium2(web driver)
Selenium2(web driver)Selenium2(web driver)
Selenium2(web driver)
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
 
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
 
Ja sst東北2013
Ja sst東北2013Ja sst東北2013
Ja sst東北2013
 

Viewers also liked

真にスレッドセーフなHash mapとは #渋谷java
真にスレッドセーフなHash mapとは  #渋谷java真にスレッドセーフなHash mapとは  #渋谷java
真にスレッドセーフなHash mapとは #渋谷javaHiroyuki Ohnaka
 
【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力Cybozucommunity
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分松田 千尋
 
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンスNozomi Ito
 
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化Nozomi Ito
 
[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary Reasearches[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary ReasearchesManavai Teikituhaahaa
 

Viewers also liked (8)

真にスレッドセーフなHash mapとは #渋谷java
真にスレッドセーフなHash mapとは  #渋谷java真にスレッドセーフなHash mapとは  #渋谷java
真にスレッドセーフなHash mapとは #渋谷java
 
Tomcat next
Tomcat nextTomcat next
Tomcat next
 
【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
 
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
 
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
 
Tomcatx performance-tuning
Tomcatx performance-tuningTomcatx performance-tuning
Tomcatx performance-tuning
 
[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary Reasearches[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary Reasearches
 

Similar to Selenium IDE for primer

メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Serviceメルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes ServiceTadashi Nemoto
 
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンスNozomi Ito
 
Selenium入門(2023年版)
Selenium入門(2023年版)Selenium入門(2023年版)
Selenium入門(2023年版)onozaty
 
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストYusuke Ando
 
ローカル環境のテスト自動化【勉強会資料】
ローカル環境のテスト自動化【勉強会資料】ローカル環境のテスト自動化【勉強会資料】
ローカル環境のテスト自動化【勉強会資料】株式会社キャッチアップ
 
WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介Nobuhiko Futagami
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストTsutomu Chikuba
 
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」Hiroko Tamagawa
 
E2E Test Tools
E2E Test ToolsE2E Test Tools
E2E Test ToolsKeepAlive1
 
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 20175分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017Toshiya Komoda
 
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Akira Inoue
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化JustSystems Corporation
 
Unit testで定時帰宅!
Unit testで定時帰宅!Unit testで定時帰宅!
Unit testで定時帰宅!Funato Takashi
 
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjpKazuhito Miura
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめhakoika-itwg
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストSeiji KOMATSU
 

Similar to Selenium IDE for primer (20)

Selenium
SeleniumSelenium
Selenium
 
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Serviceメルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
 
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
 
Selenium入門(2023年版)
Selenium入門(2023年版)Selenium入門(2023年版)
Selenium入門(2023年版)
 
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
 
ローカル環境のテスト自動化【勉強会資料】
ローカル環境のテスト自動化【勉強会資料】ローカル環境のテスト自動化【勉強会資料】
ローカル環境のテスト自動化【勉強会資料】
 
WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
 
PHP勉強会 #51
PHP勉強会 #51PHP勉強会 #51
PHP勉強会 #51
 
PHP agile test tips
PHP agile test tipsPHP agile test tips
PHP agile test tips
 
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
 
E2E Test Tools
E2E Test ToolsE2E Test Tools
E2E Test Tools
 
burikaigi2023
burikaigi2023burikaigi2023
burikaigi2023
 
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 20175分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
 
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
 
Unit testで定時帰宅!
Unit testで定時帰宅!Unit testで定時帰宅!
Unit testで定時帰宅!
 
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
 

Selenium IDE for primer

  • 2. ご挨拶 株式会社シーケンス代表取締役 篠原康行 我々は、オレンジソフト様からテスト自動化のお話をいただき、 2014年3月から約8ヵ月に渡り、Selenium IDEに使ったテスト自動化 に取り組んで参りました。 今回のセミナーでは、その取り組みで得られた知見等をこの場で ご報告させて頂きたいと思います。 また、今後のテスト自動化の普及に繋がれば幸いです。 テスト対象アプリケーション: xgate4 (Webメールソフト) ※メール誤送信対策機能搭載 製造元: 株式会社オレンジソフト
  • 3. 内容 1. Seleniumとは 2. Selenium何がいいの? 3. Seleniumいろいろあるけど・・・ 4. Selenium IDEを使う 5. テスト自動化を行うにあたって Q&A
  • 4. 1.Seleniumとは Webブラウザを使ったWebアプリケーションのテスト を自動化するツール - 始まりは、社内ツール(2004) - オープンソースソフトウェア(OSS) ライセンス: Apache 2.0 License - Seleniumプロジェクトhttp://www.seleniumhq.org/ - ターゲットブラウザFireFox, IE, Chrome, Safari
  • 5. 2.Selenium何がいいの? 1. 手入力要素のテスト 2. 複数条件のテスト 3. 表示内容のテスト 4. テストの記録 5. テスターに依存しない 6. マルチブラウザでのテスト 7. 思いかけないけど意外にいいかも
  • 6. 2-1.手入力要素のテスト 手入力要素のテストを自動化できる 入力条件の明確化 入力時間の短縮 手作業によるケアレスミスを防ぐ 例.文字種と文字数制限のテスト [ひらがな]入力ができるかを確認する [128文字]以上の入力はできないことを確認す る
  • 15. 2-4.テストの記録 エビデンスを作成しやすい  テスト内容や結果についてコメントを入力可能  テストの入力内容や画面遷移を記録可能  テストの結果をログファイルに出力可能  記録に残すことで、Webアプリケーション更新の影 響を確認可能
  • 16. 2-4.テストの記録 エビデンスを作成しやすい  テスト内容や結果についてコメントを入力可能  テストの入力内容や画面遷移を記録可能  テストの結果をログファイルに出力可能  記録に残すことで、Webアプリケーション更新の影 響を確認可能
  • 17. 2-4.テストの記録 エビデンスを作成しやすい  テスト内容や結果についてコメントを入力可能  テストの入力内容や画面遷移を記録可能  テストの結果をログファイルに出力可能  記録に残すことで、Webアプリケーション更新の影 響を確認可能
  • 18. 2-4.テストの記録 エビデンスを作成しやすい  テスト内容や結果についてコメントを入力可能  テストの入力内容や画面遷移を記録可能  テストの結果をログファイルに出力可能  記録に残すことで、Webアプリケーション更新の影 響を確認可能
  • 19. 2-4.テストの記録 エビデンスを作成しやすい  テスト内容や結果についてコメントを入力可能  テストの入力内容や画面遷移を記録可能  テストの結果をログファイルに出力可能  記録に残すことで、Webアプリケーション更新の影 響を確認可能
  • 20. 2-4.テストの記録 エビデンスを作成しやすい 更新した箇 所  テスト内容や結果についてコメントを入力可能  テストの入力内容や画面遷移を記録可能  テストの結果をログファイルに出力可能  記録に残すことで、Webアプリケーション更新の影 響を確認可能
  • 21. 2-5.テスターに依存しない  自動化することでテスターによるテストの深さのバ ラツキを防ぐ - 仕様を明確できる - テストデータもSeleniumで作成することでテスターに 依存しない - 大量のテストデータを作成しやすい  手作業によるケアレスミスを防ぐことが容易である
  • 22. 2-6.マルチブラウザでのテスト 各種ブラウザでテストケースを実行可能  主なブラウザ - FireFox, IE, Chrome, Safari  実行形式 - SeleniumIDEを使用した実行 - SeleniumRCでの実行 - プログラミングにて実行可能 主なプログラミング言語Java, C#, Ruby, Python  ブラウザ間の差違を発見しやすい
  • 25. 2-7.思いかけないけど 意外にいいかも 開発者が自身のWebアプリケーションの確認に Selenium を使用すると、意外にいいかも  Seleniumで確認しやすい記述を意識するようになり、 標準的な記述を行うようになるのでは・・・  開発時にデグレードを発見しやすい  開発者自身にとって 単体テストのエビデンスを取ることができる
  • 26. 3. Seleniumいろいろあるけど・・・ Selenium Grid WebDriver Selenium3 モバイル強化 Selenium RC (Selenium1) Selenium 2 Visual型ツー ル Selenium IDE SeleniumBuilder モバイル向け ios-driver Selendroid Appium
  • 27. 3-1.Selenium RC (Remote Control) - ① Seleniumスクリプト(HTML形式)をコマンドラインから実行する
  • 28. 3-1.Selenium RC (Remote Control) - ② コマンドライン Selenium Server >java -jar selenium-server-standalone-2.41.0.jar -htmlSuite *googlechrome WebブラウザはChrome Webアプリケーション URL http://xgate4.orangesoft.co.jp/xgate48/grp/test/b テストスイーツのパステスト結果を出力するファ イル E:JobOrangeSofttsTest.html e:loglog.html
  • 29. 3-1.Selenium RC (Remote Control) - ② コマンドライン Selenium Server >java -jar selenium-server-standalone-2.41.0.jar -htmlSuite *googlechrome WebブラウザはChrome Webアプリケーション URL http://xgate4.orangesoft.co.jp/xgate48/grp/test/b テストスイーツのパステスト結果を出力するファ イル E:JobOrangeSofttsTest.html e:loglog.html
  • 30. 3-1.Selenium RC (Remote Control) - ③ Seleniumスクリプトは、Seleniumコマンドの組み合わせの他、JavaScriptを 使ったテストも記述できる
  • 31. 3-1.Selenium RC (Remote Control) - ④
  • 32. 3-2.WebDriverとSelenium2 WebブラウザをコントロールするAPI群 WebDriver API 特別なテストケース、SeleniumコマンドとJavaScriptでは記述が 難しいテストケース、あるいは、テストスピードを速くしたいな ど  Java, C#, Ruby, Python他の言語で作成したい場合 マルチブラウザ対応したい、テストレポートを細かにしたい、 etc...  主なWebDriver ChromeDriver, FirefoxDriver, InternetExplorerDriver, SafariDriver, AndroidDriver, ios-driver  主流Selenium 1 + WebDriver = Selenium 2
  • 33. 3-3.Visual型ツール- ① Selenium IDE - Seleniumテスト用の統合開発環境 - 入力操作の自動記録・再生 - スクリプトを手動で記述・編集・デバッグ - テストケースをその場で実行・検証できる - 複数テストケースをテストスイーツとしてまとめてテスト - ブラウザ内のテスト画面を保存可能 - テストケースをHTML、Ruby、Python、Java、C#など多様な形式 で保存可能デフォルトは、HTML形式 - JavaScriptをスクリプト内または拡張スクリプトファイルにて使 用可能(拡張スクリプト使用時:user-extensions.js必須、.js追加 可能) - FireFoxアドオン - 多種多様なプラグイン(ログファイル出力、制御構造など) - テスト結果をレポートにまとめやすい
  • 34. 3-3.Visual型ツール- ① Selenium IDE - Seleniumテスト用の統合開発環境 - 入力操作の自動記録・再生 - スクリプトを手動で記述・編集・デバッグ - テストケースをその場で実行・検証できる - 複数テストケースをテストスイーツとしてまとめてテスト - ブラウザ内のテスト画面を保存可能 - テストケースをHTML、Ruby、Python、Java、C#など多様な形式 で保存可能デフォルトは、HTML形式 - JavaScriptをスクリプト内または拡張スクリプトファイルにて使 用可能(拡張スクリプト使用時:user-extensions.js必須、.js追加 可能) - FireFoxアドオン - 多種多様なプラグイン(ログファイル出力、制御構造など) - テスト結果をレポートにまとめやすい
  • 35. 3-3.Visual型ツール- ② Selenium Builder - Seleniumテスト用の統合開発環境 - SeleniumIDEとほぼ同じ機能を持つ - WebDriverのコマンドをスクリプトに記述可能 Seleniumコマンドより細やかなテストケースを作成可 能 プログラミング向き - FireFoxアドオン
  • 36. 3-3.Visual型ツール- ② Selenium Builder - Seleniumテスト用の統合開発環境 - SeleniumIDEとほぼ同じ機能を持つ - WebDriverのコマンドをスクリプトに記述可能 Seleniumコマンドより細やかなテストケースを作成可 能 プログラミング向き - FireFoxアドオン
  • 37. 3-3.Visual型ツール- ② Selenium Builder - Seleniumテスト用の統合開発環境 - SeleniumIDEとほぼ同じ機能を持つ - WebDriverのコマンドをスクリプトに記述可能 Seleniumコマンドより細やかなテストケースを作成可 能 プログラミング向き - FireFoxアドオン
  • 38. 3-3.Visual型ツール- ② Selenium Builder - Seleniumテスト用の統合開発環境 - SeleniumIDEとほぼ同じ機能を持つ - WebDriverのコマンドをスクリプトに記述可能 Seleniumコマンドより細やかなテストケースを作成可 能 プログラミング向き - FireFoxアドオン
  • 39. 3-3.Visual型ツール- ③ IDEとBuilder どちらを使う? Seleniumプロジェクトとしては、いずれはSeleniumコ マンドからWebDriverコマンドへ全面的に移行したいの で、Builderを推奨したいようである しかし、歴史が浅い(2013年初め頃)こともあり、 まだ実用性は低い Builderの不便な点として •UIが使いづらい •変数を複数のテストケースで共有できない •データ駆動型のテストができない •対応ブラウザはFireFoxのみ これらは、テストツールを使う上では問題なので、や はりSeleniumIDEを選択した方が良いでしょう
  • 40. 3-3.Visual型ツール- ③ IDEとBuilder どちらを使う? 個人的には、SeleniumIDEは、 とても使いやすいので、 WebDriverコマンドを記述でき るようになって存続してほしい と思います・・・今もIDEは更 新しているので期待しています SeleniumIDEはWebアプリ ケーションやプログラミングに 精通していなくても扱いやすい とも思います Seleniumプロジェクトとしては、いずれはSeleniumコ マンドからWebDriverコマンドへ全面的に移行したいの で、Builderを推奨したいようである しかし、歴史が浅い(2013年初め頃)こともあり、 まだ実用性は低い Builderの不便な点として •UIが使いづらい •変数を複数のテストケースで共有できない •データ駆動型のテストができない •対応ブラウザはFireFoxのみ これらは、テストツールを使う上では問題なので、や はりSeleniumIDEを選択した方が良いでしょう
  • 41. 3-4.Selenium Grid  複数のマシンにテストを自動で分散させるツール Webアプリケー ション Windows IE MAC Safari Android Windows FireFox Selenium Grid Serever テストスクリ プト ・・・
  • 42. 3-5.モバイル向け- ①  本家Seleniumとしてはスマホ向けSeleniumの開発は中止 (TL;DR: We’re retiring Selenium’s own AndroidDriver and iPhoneDriver in favour of any of Selendroid, iosdriver and Appium. If you’re using one of Selenium’s own mobile drivers, please evaluate one of these alternatives.)  iOS向け: ios-driver 今のところiOSシミュレータ上のみで動作  Android向け: Selendroid Androidエミュレータで動作/実機はselendroid-standalone コンポーネントを組み込んで動作  iOS, Android 向け: Appium Sauce Labs社が開発  テストケースは、Java/Ruby/Python/C#で記述 一部、JavaScript可能とのこと
  • 43. 3-5.モバイル向け- ②  モバイル向けのWebDriverは、未だ実用性が低いようで ある Appiumが実用に一番近いように見受けられる  モバイル向けテスト方法の提案として FireMobileSimulatorを使用してSeleniumIDEにてテス トを実行可能
  • 44. 3-5.モバイル向け- ②  モバイル向けのWebDriverは、未だ実用性が低いようで ある Appiumが実用に一番近いように見受けられる  モバイル向けテスト方法の提案として FireMobileSimulatorを使用してSeleniumIDEにてテストを実行 可能
  • 45. 4.Selenium IDEを使う- ①  インストール  Firefoxでhttp://docs.seleniumhq.org/download/にアク セスする  Download latest released version 2.8.0 released on 29/Sep/2014 ここをクリック
  • 46. 4.Selenium IDEを使う- ②  起動  メニュー→ 開発ツール→ Selenium IDE または  ツールバーのSelenium IDE アイコンをクリック
  • 47. 4.Selenium IDEを使う- ③  初めての起動 テストケース一 覧 太字になってい るテストケース が編集の対象 ここに編集対象テストケー スのコマンドソースを表示 ここに実行時のロ グ
  • 48. 4.Selenium IDEを使う- ④  テストケースまたは テストスイーツの 読み込み
  • 50. 4.Selenium IDEを使う- ⑥ 実行速度の 調整 テストスイー ツ全体を実行 対象テスト ケースを実行 rollupコマン ドを組み込む デバッグ用 [一時停止/再開] [1ステップ実行] 拡張スクリプ トの再読み込 み テストの記録 開始/停止
  • 51. 4.Selenium IDEを使う- ⑦  編集する
  • 52. 4.Selenium IDEを使う- ⑦  編集する 例.編集の様子
  • 53. 4.Selenium IDEを使う- ⑧  デバッグをする 例.デバッグの様子
  • 54. 4.Selenium IDEを使う- ⑨ その他いろいろ  マルチブラウザでは・・・ FireFoxの他にChrome、IEで動作可能 但し、Chrome、IEでの編集は実行前のみ、実行 後の編集は即時実行はできない- 実例 参考:IDEを他のブラウザで動作させる  スクリプトファイルは、HTML形式で出力- テキストエディタで編集可能  スクリプトファイルをエクスポートすることで、さらに細やかなテストケースを作成 できるJava, C#, Ruby, Python  拡張スクリプトファイルを取り込むことができる 複数指定できるが、1つはuser-extensions.jsであること メニューから[オプション]→ [設定]でOptionダイアログ表示
  • 55. 4.Selenium IDEを使う- ⑨ その他いろいろ  マルチブラウザでは・・・ Chrome、IEで動作可能 但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 参考:IDEを他のブラウザで動作させる  スクリプトファイルは、HTML形式で出力- テキストエディタで編集可能  スクリプトファイルをエクスポートすることで、さらに細やかなテスト ケースを作成できるJava, C#, Ruby, Python  拡張スクリプトファイルを取り込むことができる 複数指定できるが、1つはuser-extensions.jsであること メニューから[オプション]→ [設定]でOptionダイアログ表示
  • 56. 4.Selenium IDEを使う- ⑨ その他いろいろ  マルチブラウザでは・・・ Chrome、IEで動作可能 但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 参考:IDEを他のブラウザで動作させる  スクリプトファイルは、HTML形式で出力- テキストエディタで編集可能  スクリプトファイルをエクスポートすることで、さらに細やかなテスト ケースを作成できるJava, C#, Ruby, Python 他のエディタ を使用して作  拡張スクリプトファイルを取り込むことができる 複数指定できるが、1つはuser-extensions.jsであること 成可能 メニューから[オプション]→ [設定]でOptionダイアログ表示
  • 57. 4.Selenium IDEを使う- ⑨ その他いろいろ  マルチブラウザでは・・・ Chrome、IEで動作可能 但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 参考:IDEを他のブラウザで動作させる  スクリプトファイルは、HTML形式で出力- テキストエディタで編集可 能  スクリプトファイルをエクスポートすることで、 さらに細やかなテストケースを作成できる Java, C#, Ruby, Python  拡張スクリプトファイルを取り込むことができる 複数指定できるが、1つはuser-extensions.jsであること メニューから[オプション]→ [設定]でOptionダイアログ表示
  • 58. 4.Selenium IDEを使う- ⑨ その他いろいろ  マルチブラウザでは・・・ Chrome、IEで動作可能 但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 参考:IDEを他のブラウザで動作させる  スクリプトファイルは、HTML形式で出力- テキストエディタで編集可 能  スクリプトファイルをエクスポートすることで、 さらに細やかなテストケースを作成できる Java, C#, Ruby, Python  拡張スクリプトファイルを取り込むことができる 複数指定できるが、1つはuser-extensions.jsであること メニューから[オプション]→ [設定]でOptionダイアログ表示
  • 59. 4.Selenium IDEを使う- ⑨ その他いろいろ  マルチブラウザでは・・・ Chrome、IEで動作可能 但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 参考:IDEを他のブラウザで動作させる  スクリプトファイルは、HTML形式で出力- テキストエディタで編集可 能  スクリプトファイルをエクスポートすることで、さらに細やかなテストケー スを作成できるJava, C#, Ruby, Python  拡張スクリプトファイルを取り込むことができ る 複数指定できるが、1つはuser-extensions.jsであ ること メニューから[オプション]→ [設定]でOptionダイアログ
  • 60. 4.Selenium IDEを使う- ⑨ その他いろいろ  マルチブラウザでは・・・ Chrome、IEで動作可能 但し、編集は実行前のみ、実行後の編集は即時実行はできない- 実例 参考:IDEを他のブラウザで動作させる  スクリプトファイルは、HTML形式で出力- テキストエディタで編集可 能  スクリプトファイルをエクスポートすることで、さらに細やかなテストケー スを作成できるJava, C#, Ruby, Python  拡張スクリプトファイルを取り込むことができ る 複数指定できるが、1つはuser-extensions.jsであ ること メニューから[オプション]→ [設定]でOptionダイアログ
  • 61. 5.テストの自動化を行うにあたって- ① テスト自動化を導入できないのは? 主に次の2点が考えられる  SeleniumIDEでFireFoxのテストケースを作成するこ とは容易であることはわかるが、実際は他ブラウザ での動作確認を必要とするのでプログラミングを行 う必要がある。しかし、Seleniumコマンドと SeleniumAPIそしてWebDriverの扱い方を習得する時 間を取ることができない  全てを自動化できるものとして導入してしまうと Seleniumにとって不得手な対応に工数がかかってし まう
  • 62. 5.テストの自動化を行うにあたって- ① テスト自動化を導入できないのは? 主に次の2点が考えられる  SeleniumIDEでFireFox例えば のテストケースを作成するこ とは容易であること要素はのわ位置かがる深すがぎる 、実際は他ブラウザ マウスカーソルが手マークに変化 での動作確認を必す要る とするのでプログラミングを行 スクロールバーを表示する う必要がある。しなかどし動的、に変Selenium化するのは苦コ手 マンドと SeleniumAPIそしてWebDriverの扱い方を習得する時 間を取ることができない  全てを自動化できるものとして導入してしまうと Seleniumにとって不得手な対応に工数がかかってし まう
  • 63. 5.テストの自動化を行うにあたって- ② テストを自動化した場合のメリットを考えるとSeleniumを使用 したい A) 手入力要素の多いWebアプリケーションでは入力できる文 字種と文字数など入力条件を設定できる為、手入力確認に よるテスト漏れ・テストの不十分さをカバーする B) Webアプリケーションの条件設定によるテストのように複 数の要素をマトリックス的に組み合わせたテストケースの 作成が容易である C) 表示内容の確認が容易である D) テストの状況、結果とそのスクリーンショットを記録とし て残すことができる E) テスターに依存しない為、何度でも同じテストを同じ条件 で行う事ができる F) Webアプリケーションの変更による影響の有無を確認でき る G) ブウラウザ間の差違を発見しやすくなる
  • 64. 5.テストの自動化を行うにあたって- ③  開発に取り入れた場合の例 各種ブラウザ Seleniumで確認 開発 結合 ! NG ! Seleniumで確認 (結合テスト) Seleniumで確認 (単体テスト) ! NG !
  • 65. Q&A
  • 66. ありがとうございました テスト対象アプリケーション: xgate4 (Webメールソフト) ※メール誤送信対策機能搭載 製造元: 株式会社オレンジソフト: http://www.orangesoft.co.jp/products/xgate/xgate4/ (株)シーケンスURL : http://www.e-sqc.co.jp/ Selenium メモ(blog) : http://selenium-memo.blogspot.jp/ 実体験(blog) : http://selenium-memo2.blogspot.jp/