Selenium Gridで遊ぼう

23
Selenium Grid遊ぼう 東平洋史

Transcript of Selenium Gridで遊ぼう

Page 1: Selenium Gridで遊ぼう

Selenium Gridで遊ぼう

東平洋史

Page 2: Selenium Gridで遊ぼう

自己紹介• 名前東平洋史(とうへいひろふみ)

• 職業ある会社のテスト技術者

• Selenium使用歴2014/3/4(月)~

• 前歴NTT 武蔵野通研→NTTコミュニケーションズ→某社→CTCシステムオペレーションズ→株式会社SHIFT

Page 3: Selenium Gridで遊ぼう

Seleniumとは?

• 原子番号34の元素

• 元素記号はSe

• 第16族元素–酸素と同族

–ハロゲンの隣

• 灰色セレン–金属セレン

–六方晶系

–融点は217.4℃

• 赤色セレン

–単斜晶系

Page 4: Selenium Gridで遊ぼう

ではなくて

Page 5: Selenium Gridで遊ぼう

Seleniumとは?

http://docs.seleniumhq.org/

• Webベースアプリケーション用テスト自動化ツール

• ライセンスはApache 2.0 License

Page 6: Selenium Gridで遊ぼう

今回御紹介するのは

Page 7: Selenium Gridで遊ぼう

Selenium Gridhttps://github.com/SeleniumHQ/selenium/wiki/Grid2

•複数のマシンで並列実行

•複数の環境を集中管理

↓テストのコスト最小化

Page 8: Selenium Gridで遊ぼう

その構造

Selenium Grid Server (Hub)

テストスクリプト

Grid (node) Grid (node)

Internet ExplorerMozilla FirefoxGoogle Chrome

Safari

Windows Mac

Grid (node) Grid (node)

Safari Google Chrome

iPhone Android

Web Application

Page 9: Selenium Gridで遊ぼう

その構造

Selenium Grid Server (Hub)

テストスクリプト

Grid (node) Grid (node)

Internet ExplorerMozilla FirefoxGoogle Chrome

Safari

Windows Mac

Grid (node) Grid (node)

Safari Google Chrome

iPhone Android

Web Application

Page 10: Selenium Gridで遊ぼう

その構造

Selenium Grid Server (Hub)

テストスクリプト

Grid (node) Grid (node)

Internet ExplorerMozilla FirefoxGoogle Chrome

Safari

Windows Mac

Grid (node) Grid (node)

Safari Google Chrome

iPhone Android

Web Application

Page 11: Selenium Gridで遊ぼう

その構造

Selenium Grid Server (Hub)

テストスクリプト

Grid (node) Grid (node)

Internet ExplorerMozilla FirefoxGoogle Chrome

Safari

Windows Mac

Grid (node) Grid (node)

Safari Google Chrome

iPhone Android

Web Application

Page 12: Selenium Gridで遊ぼう

その構造

Selenium Grid Server (Hub)

テストスクリプト

Grid (node) Grid (node)

Internet ExplorerMozilla FirefoxGoogle Chrome

Safari

Windows Mac

Grid (node) Grid (node)

Safari Google Chrome

iPhone Android

Web Application

Page 13: Selenium Gridで遊ぼう

実行に必要なもの(1)

• Seleniuem Grid Server用

–JRE(Java Runtime Environment)

–Selenium Serverhttp://www.seleniumhq.org/download/

Page 14: Selenium Gridで遊ぼう

実行に必要なもの(2)

• Selenium Grid Node用–JRE

–Selenium Server

–Webブラウザ起動用http://www.seleniumhq.org/download/

•ChromeDriver

• The Internet Explorer Driver Server

など

Page 15: Selenium Gridで遊ぼう

Selenium Grid使用手順

1. Selenium Grid Serverを立てる

2. Selenium Grid Nodeを追加する

3. テストスクリプトから呼び出す

Page 16: Selenium Gridで遊ぼう

Selenium Grid Serverを立てる

• 次のコマンドを実行java –jar selenium-server-standalone–role hub(例)java -jar C:¥Selenium¥bin¥SeleniumServer¥selenium-server-standalone-2.45.0.jar -role hub

Page 17: Selenium Gridで遊ぼう

Selenium Grid Nodeを追加する(1)

• 設定用JSONファイルを書く{“capabilities”:

[ {“platform”: プラットフォーム,“browserName”: ブラウザ名,“maxInstances”: 起動するインスタンスの最大数,“version”: バージョン番号,“seleniumProtocol”: “WebDriver“},…

],

”configuration”:{“hub”: “http://サーバ名:4444/grid/register"}

}

ブラウザ分作成

Selenium Gridサーバの指定

Page 18: Selenium Gridで遊ぼう

Selenium Grid Nodeを追加する(2)

• 次のコマンドを実行java –jar selenium-server-standalone-role node -nodeConfig設定用JSONファイル-Dwebdriver.chrome.driver=ChromeDriver-Dwebdriver.ie.driver=IEDriverServer

• この部分は適宜変更

Page 19: Selenium Gridで遊ぼう

テストスクリプトから呼び出す(1)

1. DesiredCapabilitiesクラスのインスタンス生成

2. インスタンスの属性設定

3. RemoteWebDriverクラスを使用してWebDriver生成

Page 20: Selenium Gridで遊ぼう

テストスクリプトから呼び出す(2)

(例) Firefoxを呼び出す場合DesiredCapabilities capability =

DesiredCapabilities.firefox();

capability.setVersion("26.0");

WebDriver driver =new RemoteWebDriver(new

URL("http://192.168.2.10:4444/wd/hub"), capability);

Page 21: Selenium Gridで遊ぼう

ここで実習

Page 22: Selenium Gridで遊ぼう

実習内容

次のテストを行なうスクリプトの作成

1. Googleで「小江戸らぐ」を検索

2. 次のページを表示OSS支える!コミュニティー訪問~小江戸らぐ-川越を中心にゆるく活動するLinuxユーザー会

3. 写真をクリックして拡大表示

Page 23: Selenium Gridで遊ぼう

まとめ

Selenium Grid

•複数のマシンで並列実行

•複数の環境を集中管理

↓テストのコスト最小化