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

3,865 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,865
On SlideShare
0
From Embeds
0
Number of Embeds
149
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

サルでも書ける(?)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. おしまい (^.^)/~~~

×