• Like
20140118 selenium勉強会 - Jenkins×Selenium 最初の一歩-
Upcoming SlideShare
Loading in...5
×

20140118 selenium勉強会 - Jenkins×Selenium 最初の一歩-

  • 22,084 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
22,084
On Slideshare
0
From Embeds
0
Number of Embeds
21

Actions

Shares
Downloads
35
Comments
0
Likes
17

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 第1回 日本Seleniumユーザコミュニティ勉強会 Jenkins × Selenium 最初の一歩 玉川紘子 @nkns165 1
  • 2. 自己紹介 名前:玉川 紘子(たまがわ ひろこ) 所属:株式会社SHIFT ソフトウェアテスト事業部 CI/自動テスト導入担当として活動 コミュニティ:STAR(テスト自動化研究会) 日本Jenkinsユーザ会 2
  • 3. SeleniumでCI(継続的インテグレーション) ■Seleniumのテストを作成しただけでは… • • • 誰かがそのテストを実行しなければいけない テスト結果の確認、実行履歴の管理など周辺作業が残る 仕様が変わったらテストのメンテナンスが必要 → チームの意識が高くないと、すぐにテストが陳腐化してしまう ■Jenkinsとは • • • → フリーのCI(継続的インテグレーション)ツール GUI中心の直観的な操作で様々な設定が可能 Seleniumを始めとした様々なテストツールと連携が可能 予めテストケースを登録しておくと、 定期的に自動実行・結果通知・レポートの出力・ 履歴管理まで行ってくれる 3
  • 4. 実行環境のイメージ テストコードを含む リソースを集約 コミット テスト コード 自動テスト担当 テスト 指示 バージョン管理 画面 キャプチャ メールやSkypeで フィードバック テスト レポート テスト用 クライアント テストレポートを表示 開発担当 テスト環境 本番環境 4
  • 5. Seleniumのテストを補助してくれる 様々なプラグイン • • • • • • • • • Selenium AES plugin(549) Seleniumhq plugin(1712) Selenium Builder plugin(251) TestingBot Selenium plugin(105) seleniumhtmlreport plugin(1404) Selenium RC plugin(643) Selenium plugin(1118) Selenium Axis plugin(33) Selenium Grails plugin(不明) ※()内は2013年12月のダウンロード数 5
  • 6. 何だかんだ言ってまだ現役 Selenium IDEを使っている場合 • • • • • • • • • Selenium AES plugin(549) Seleniumhq plugin(1712) Selenium Builder plugin(251) TestingBot Selenium plugin(105) seleniumhtmlreport plugin(1404) Selenium RC plugin(643) Selenium plugin(1118) Selenium Axis plugin(33) Selenium Grails plugin(不明) 6
  • 7. IDEで記録・編集したHTMLを 設定するだけでテスト実行が可能 *firefox http://example.com suite/01.html result/01.html IDEでプラグインを使っている場合は 対応するJavaScriptの設定が必要。 その他、ポートの設定など -userExtensions userextensions.js -port 4445 7
  • 8. 見慣れたテスト結果に加えて、 OK/NG数の遷移も見られる 青:OK 赤:NG 8
  • 9. TestSuiteが多い場合は、 seleniumhtmlreport pluginで見やすく表示 9
  • 10. Selenium2(WebDriver)を使っている場合 • • • • • • • • • Selenium AES plugin(549) Seleniumhq plugin(1712) Selenium Builder plugin(251) 明示的なSelenium用のプラグインは TestingBot Selenium plugin(105) 不要 seleniumhtmlreport plugin(1404) Selenium RC plugin(643) Selenium plugin(1118) Selenium Axis plugin(33) Selenium Grails plugin(不明) 10
  • 11. xUnit形式のテスト結果を生成すれば 自動的にテストレポートが出来る  Javaの場合はAnt, Mavenなどのビルドツールから起動  他の言語でもたいていはプラグインが存在する  なければシェルスクリプト or Windowsバッチで代替 Mavenの場合 テスト実行 レポート生成 11
  • 12. xUnit形式で出力することの利点  「いつからそのテストが失敗しているのか」すぐに分かる  Seleniumhq pluginでは出来ない機能  ソースコードの変更履歴と比較すれば、どのコミットで問 題が起きたかも分かる 12
  • 13. Selenium Gridを使って並列テストを実行したい • • • • • • • • • Selenium AES plugin(549) Seleniumhq plugin(1712) Selenium Builder plugin(251) TestingBot Selenium plugin(105) seleniumhtmlreport plugin(1404) Selenium RC plugin(643) Selenium plugin(1118) Selenium Axis plugin(33) Selenium Grails plugin(不明) 13
  • 14. Jenkinsのマスタ-スレーブ機能 × Selenium Grid たくさんのNodeを管理し、 いちいちサーバ起動するのは面倒 Node テスト用 クライアント テスト用 クライアント テスト用 クライアント Selenium Hub テスト用 クライアント 14
  • 15. Selenium pluginを使った設定 ブラウザの種類などを設定するだけで、 簡単にSelenium Gridが完成 「selenium-client」という ラベルをつけたスレーブを SeleniumのNodeにする そのスレーブでは Firefoxを3インスタンス 起動する 15
  • 16. JenkinsでSeleniumのテストをするときに 気をつけること  テスト環境はなるべく専用のものを用意する  繰り返しテスト実行しても問題ないように、データの初期 化の仕組みを作る  ジョブは機能のカテゴリごとに小分けにして作る  失敗したときに修正のモチベーションが湧きやすい  失敗の解析がしやすいよう、スクリーンショットをとる  JUnitの場合 http://softwaretest.jp/labo/tech/labo-298/ 16
  • 17. まとめ Jenkinsで、Seleniumの魅力を 最大限に活用しよう!  Selenium IDE / WebDriverのテスト実行  レポート表示  Gridを使った並列テスト実行、マルチOS/ マルチブラウザテスト 17
  • 18. ご清聴ありがとうございました! 18