Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)

4,465 views

Published on

小江戸らぐ 2014年3月8日(土) 活動報告会 14:00~18:00 資料
                 兼
オープンソースカンファレンス2014 浜名湖 LT資料

Published in: Technology
  • Be the first to comment

サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)

  1. 1. サルでも書ける(?) Seleniumの 自動実行スクリプト (デモつき) 東平洋史
  2. 2. 自己紹介 • 名前 東平洋史(とうへいひろふみ) • 職業 ある会社のテスト設計者 • Selenium使用歴 2014/3/4(月)~ • 前歴 NTT 武蔵野通研→NTTコミュニケーショ ンズ→某社→CTCシステムオペレーショ ンズ
  3. 3. Seleniumとは? • 原子番号34の元素 • 元素記号はSe • 第16族元素 – 酸素と同族 – ハロゲンの隣 • 灰色セレン – 金属セレン – 六方晶系 – 融点は217.4℃ • 赤色セレン –単斜晶系
  4. 4. では なくて
  5. 5. Seleniumとは? http://docs.seleniumhq.org/ • Webベースアプリケーション用テスト 自働化ツール • ライセンスはApache 2.0 License
  6. 6. Seleniumで出来ること • ユーザが行なった操作の記録・スク リプト化 –クリック、ダブルクリック –文字入力 など • ユーザが行なった操作の再現実行 ⇒ブラウザのテスト、自動実行
  7. 7. Selenium IDE(1) • Seleniumのテストケース開発用ツー ル • Mozilla Firefox の add-on http://docs.seleniumhq.org/downloa d/
  8. 8. Selenium IDE(2) ツールバー テストケースペイン ログ/リファレンス/UI-Element/Rollupペイン メニューバー
  9. 9. Selenium IDE(3) • ツールバー 1. Speed Control 実行速度調節 2. Run All スクリプトをすべて 実行 3. Run 選択されているス クリプトを実行 4. Pause/Resume 一時停止/再開 5. Step コマンドをステップ (一つずつ)実行 6. Record ブラウザの操作を 記録 1 2 3 4 5 6
  10. 10. Selenium IDE使用例
  11. 11. ここで 実習
  12. 12. 実習内容 次のテストを行なうスクリプトの作成 1. Googleで「小江戸らぐ」を検索 2. 次のページを表示 OSS支える!コミュニティー訪問~小江戸らぐ - 川越を中心にゆるく活動するLinuxユー ザー会 3. 写真をクリックして拡大表示
  13. 13. 作成の手順 1.実行手順の記録 2.記録した手順の再生 3.修正 4.修正した手順の再生 5.ファイルへの保存
  14. 14. 実行手順の 記録
  15. 15. 記録した手順 コマンド 対象 値 open / ype id=lst-ib 小江戸らぐ click name=btnK clickAndWait link=小江戸らぐ - 川越を中 心にゆるく活動するLinux ユーザー会 - ITpro click css=img[alt="小江戸らぐ"]
  16. 16. 記録した 手順の再生
  17. 17. 動かない orz
  18. 18. なぜ自動実行に失敗するのか? • 要素が表示されないうちに操作 – 人が操作する場合よりも速く操作 ⇒表示が追い付いていない • 操作対象の指定に失敗 HTMLタグの内容が替わる – タグの段数(<div>など) – 要素の数 など
  19. 19. 修正 その1 • 要素が表示されないうちに操作⇒表示待ち の処理を挿入 clickAndWait link=OSS.. ↓ waitForElementPresent link=OSS.. clickAndWait link=OSS..
  20. 20. 修正 その2 • 操作対象の指定に失敗⇒指定を変更 xPathが使えます clickAndWait link=小江戸らぐ - 川越を.. ↓ clickAndWait //a[@href='http://itpro.nikkeibp.co.jp/article/ COLUMN/20131003/508665/']
  21. 21. 修正後の手順 コマンド 対象 値 open / type id=lst-ib 小江戸らぐ click name=btnK waitForElementPr esent //a[@href='http://itpro.nikkei bp.co.jp/article/COLUMN/201 31003/508665/'] clickAndWait //a[@href='http://itpro.nikkei bp.co.jp/article/COLUMN/201 31003/508665/'] click css=img[alt="小江戸らぐ "]
  22. 22. 修正した 手順の再生
  23. 23. 動いた \(^.^)/
  24. 24. 更なる改良-変数 • 代入:storeコマンド store https://www.google.co.jp/ baseURL store 小江戸 koedo • 参照:${変数名} 使い方は Perl 風 open ${baseURL} こういう使い方も可能 ${koedo}らぐ⇒小江戸らぐ • Javascriptの実行結果代入 storeEval Javascript 変数
  25. 25. 更なる拡張 – アドオン • Flow Control http://docs.seleniumhq.org/download/ – gotoifコマンド gotoif 条件式 ラベル コマンド labe ラベル – whileコマンド while 条件式 コマンド endWhile
  26. 26. Selenium WebDriver http://docs.seleniumhq.org/projects/webdriver/ • プログラムからWebブラウザ制御 • 制御可能ブラウザ – Internet Explorer、Mozilla Firefox、Google Chrome、 Opera、Android標準Webブラウザ、Safari(iOS) • 使用可能言語 – Java、C#、Ruby、Python、Javascript(Node)
  27. 27. まとめ • Selenium – Webブラウザ自動実行用テストツール – Apacheライセンス • Selenium IDE – Seleniumスクリプト作成用統合環境 – Mozilla Firefoxのアドオン • Selenium WebDriver – Webブラウザの自動実行制御
  28. 28. おしまい (^.^)/~~~

×