SlideShare a Scribd company logo
Seleniumで仕事楽する15分
Selenium IDE と SeleniumWebDriver Node.js
Introduction
春のJavaScript祭2015 in GMO Yours
フリーランスでWeb系エンジニア、ITかあさん
主にPHP、時々Node.jsですが、Node.jsは完全に趣味。
一応、JS祭の発起人。
Why Selenium??
春のJavaScript祭2015 in GMO Yours
なぜ今回Seleniumを選んだか
プログラミングがしばらくご無沙汰で
ネタ不足だから!
いえいえ
Webデザイナーからエンジニアまで多くの人に
便利なSeleniumを使ってほしいから
Seleniumでできること
What Selenium?
What Selenium
春のJavaScript祭2015 in GMO Yours
いわゆるテストツール
動作内容を予め設定すると あとは自働でよきほどにしてくれる
SeleniumにはSelenium IDEとSeleniumWebDriverがある
キャプチャとったり自働入力したり、遷移をチェックテストの効率化
つまり
よく分からんがよさそう!!
どちらを使うべきか
Selenium RCと SeleniumWebDriverの違い
Selenium RC
春のJavaScript祭2015 in GMO Yours
テストスクリプト
PCでSelenium Serverを起動して、ブラウザで操作した内容をJavaScriptとして
WEBページに設置する

Selenium Server
Selenium IDE
春のJavaScript祭2015 in GMO Yours
FireFoxのブラウザ操作を記憶
Selenium Coreが埋め込まれており
Firefoxブラウザ上なら誰でも簡単に

テストスクリプトが作れる
Selenium Core 

(JavaScript)
Selenium WebDriver
春のJavaScript祭2015 in GMO Yours
ブラウザごとにDriverがある
Driverごと固有の実装
ブラウザ固有のDriverに直接働きかけ、

そのまま実装確認が可能に
DriverDriver
DriverDriver
Driver
対応言語も PHP Java Ruby Node.js end more!
未だ現役!昔からいるFirefoxのすごいプラグイン
Selenium IDE
Selenium IDE
春のJavaScript祭2015 in GMO Yours
FireFoxのブラウザ操作を記憶
ブラウザにJavaScriptを埋め込むという
ブラウザのセキュリティで制限も

多いが
Selenium Core 

(JavaScript)
アドオン追加の手軽さから未だ人気
Selenium IDE
FirefoxブラウザからSeleniumのダウンロードページからアドオン追加
Selenium IDE
Selenium IDEを起動したら
赤い「録画」ボタンを押すだけ
終了時はもう一度「録画」ボタン
テスト内容を保存と、

テストの読み込みが可能
Selenium IDE
Seleniumテストファイルは

HTMLベースなので、誰でも

ある程度簡単に変更ができる
Selenium IDEテストファイルを理解する
openとclick
open 遷移先のURL
click (selector)を

クリックしたら遷移
(selector)はCSSと一緒
Selenium IDEテストファイルを理解する
setSpeedと変数のセット
setSpeed テストの速度
store 変数のセット
<!̶代入̶>

<td>store</td><td>代入したい内容</td><td>変数名</td>
<!̶変数の出力̶>

<td>echo</td><td>javascript{ storedVars[ num ]; }</td><td></td>
Selenium IDEで画面キャプチャを保存
<!̶キャプチャ保存̶>

<td>captureEntirePageScreenshot</td><td>保存先</td><td>オプション</td>
<!̶数字を0埋めパディングして1加算、変数に保存̶>

<td>store</td><td>javascript{ parseInt(storedVars['num']) + 1; }</td><td>num</td>
<!̶デバッグとして変数を出力̶>

<td>echo</td><td>javascript{ parseInt(storedVars['num']); }</td><td></td>
https://github.com/chihirokaasan/jsfes2015Selenium/kaasan2.html
保存先は、相対パスよりも絶対パス
01.png 02.png …10.png という連番での0埋めしたファイル名にしたい
ブラウザ制御をより細かくできるよ!
Selenium WebDeveloperをNode.jsで動作させる
Selenium WebDeveloper×Node.js導入
春のJavaScript祭2015 in GMO Yours
自分の環境に合わせたNode.jsをダウンロードしてインストール

公式サイト

Selenium WebDeveloper×Node.js導入
春のJavaScript祭2015 in GMO Yours
Seleniumサーバーを Seleniumの公式からダウンロード
公式サイト

Selenium WebDeveloper×Node.js導入
春のJavaScript祭2015 in GMO Yours
自分の環境に合わせたNode.jsをダウンロードしてインストール

公式サイト

春のJavaScript祭2015 in GMO Yours
Selenium Google Chrome Driverをインストール
公式サイト

Selenium WebDeveloper×Node.js導入
SeleniumServerの起動
java -jar seleniumServer/selenium-server-standalone-2.45.0.jar -
Dwebdriver.chrome.driver=chromedriver/chromedriver
seleniumserverのある場所と、chromederiverのパスを設定

ターミナルで実行します
Node.jsでテストケースを書く
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
usingServer('http://localhost:4444/wd/hub').
withCapabilities(webdriver.Capabilities.chrome()).
build();
!
driver.get('https://peraichi.com/landing_pages/view/jsfes2015vol1');
driver.quit();
driver.get(‘URLにジャンプ’)
driver.quit() 終了
https://github.com/chihirokaasan/jsfes2015Selenium/
Nodeのテストを実行する
node test1.js [Enter key]
seleniumserverを先に起動しておいてください
フォームの自動入力


//フォームに値を入力してsubmitボタンを押す

driver.get("http://www.kaasan.info/sample/2012/10/simple_form/mail.php").
then(function(submit) {
sleep(1000);
return driver.findElement(webdriver.By.name( name )).sendKeys('ITかあさん'); //name=nameのフォームにvalueを代入
}).
then(function() {
sleep(1000);
return driver.findElement(webdriver.By.name( submit )).click(); //name=submitをクリックする
});
//指定時間実行を待つ

function sleep(milliSeconds)
{
var startTime = new Date().getTime();
while (new Date().getTime() < startTime + milliSeconds);
}
https://github.com/chihirokaasan/jsfes2015Selenium/
ブラウザサイズを変更して、キャプチャ


//ウィンドウサイズ変更

driver.manage().window().setSize(640, 1500);
//スクリーンショット

driver.saveScreenshot( folder + i + '_max.png');
https://github.com/chihirokaasan/jsfes2015Selenium/
レスポンシブサイトとかに使える
春のJavaScript祭2015 in GMO Yours
今から「学ぶならSeleniumWebDeveloper」
でもSeleniumIDEも未だ現役、使っている人も多い!
SeleniumWebDeveloperとIDE どっちを使うべきか
WebDriverによって動作も大きく異なる
Selenium IDEから移行が難しい場合はケースバイケースで

使い分けがベスト
“ありがとうございました”

More Related Content

PDF
脱・独自改造! GebでWebDriverをもっとシンプルに
PDF
【Camphor ×サイボウズ】selenium勉強会
PDF
Java web application testing
ODP
今流行りのウェブアプリ開発環境Yeoman
ODP
HTML5 アプリ開発
PDF
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
PDF
20141018 selenium appium_cookpad
PDF
ディープラーニングとAppiumでモバイルテスト自動化
脱・独自改造! GebでWebDriverをもっとシンプルに
【Camphor ×サイボウズ】selenium勉強会
Java web application testing
今流行りのウェブアプリ開発環境Yeoman
HTML5 アプリ開発
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
20141018 selenium appium_cookpad
ディープラーニングとAppiumでモバイルテスト自動化

What's hot (20)

PDF
20141116 jjug ccc_2014_keynote1_public
PDF
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
PDF
【B-1】kintoneでお手軽コールセンター!
PDF
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
PDF
次世代Web業務アプリケーション
PDF
Bootstrapにちょい足しアニメーション@春のJavascript祭り
PDF
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
PDF
Azureを使って手軽にブラウザテストの自動化をはじめよう
PDF
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
PPTX
Selenium2(web driver) ide編
PDF
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
KEY
capybara で快適なテスト生活を
ODP
HTML5 開発環境の紹介
PDF
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
PPTX
Stack2017 自動化困難な状況での活動方法
PDF
いまさら聞けない!?Backbone.js 超入門
PDF
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
PDF
Spring4とSpring Bootで作る次世代Springアプリケーション #jjug #jsug
PDF
Javaで1から10まで書いた話(sanitized)
PDF
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
20141116 jjug ccc_2014_keynote1_public
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
【B-1】kintoneでお手軽コールセンター!
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
次世代Web業務アプリケーション
Bootstrapにちょい足しアニメーション@春のJavascript祭り
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
Azureを使って手軽にブラウザテストの自動化をはじめよう
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
Selenium2(web driver) ide編
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
capybara で快適なテスト生活を
HTML5 開発環境の紹介
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Stack2017 自動化困難な状況での活動方法
いまさら聞けない!?Backbone.js 超入門
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
Spring4とSpring Bootで作る次世代Springアプリケーション #jjug #jsug
Javaで1から10まで書いた話(sanitized)
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Ad

Viewers also liked (20)

PDF
翻訳から始めるVue.js 入門
PDF
春のJs祭2015 lt
PDF
Meteorというフレームワーク
PDF
Start React with Browserify
PDF
いまさら始めてみたRxJS
PPTX
Vue 2.0 + Vuex Router & Vuex at Vue.js
PDF
はじめよう Backbone.js
PPTX
EcmaScript 仕様書を読もう
PDF
最強オブジェクト指向言語 JavaScript 再入門!
PDF
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
PDF
SeleniumWebDriverを使ってつまらない作業を駆逐してやる!!
PDF
JenkinsとSeleniumの活用事例
PDF
Awsで実現するseleniumテスト高速術
PDF
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
PDF
ハイパフォーマンスSeleniumテスト@サイボウズ
PPTX
Selenium IDE for primer
PDF
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
PDF
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
PPTX
サイボウズLiveの開発を支えるSeleniumテスト
PDF
JavaScriptによるvideo audio要素のコントロール入門
翻訳から始めるVue.js 入門
春のJs祭2015 lt
Meteorというフレームワーク
Start React with Browserify
いまさら始めてみたRxJS
Vue 2.0 + Vuex Router & Vuex at Vue.js
はじめよう Backbone.js
EcmaScript 仕様書を読もう
最強オブジェクト指向言語 JavaScript 再入門!
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
SeleniumWebDriverを使ってつまらない作業を駆逐してやる!!
JenkinsとSeleniumの活用事例
Awsで実現するseleniumテスト高速術
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
ハイパフォーマンスSeleniumテスト@サイボウズ
Selenium IDE for primer
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
サイボウズLiveの開発を支えるSeleniumテスト
JavaScriptによるvideo audio要素のコントロール入門
Ad

Similar to SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分 (20)

PPTX
WEB開発動作テストの自動化 を行うSeleniumの紹介
PDF
「Selenium実践入門」で学ぶテスト自動化の世界
PDF
海外のSeleniumカンファレンスではどんな発表がされているのか2014
PDF
201605 FA勉強会 seleniumスライド
PDF
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
PPTX
Selenium 触ってみよう
PDF
201605 fa勉強会スライド
PDF
SeleniumConf16 UK参加報告
PDF
WebDriverで遊ぼう
PDF
サルから進化(?) Selenium WebDriverの 自動実行プログラム
PPTX
Selenium Conference 2015 参加報告
PPTX
20170809 start python_selenium
PDF
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
PPTX
Selenium2(web driver)
PPTX
ローカル環境のテスト自動化【勉強会資料】
PDF
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
PDF
Selenium入門
PPTX
Selenium
PDF
Selenium入門(2023年版)
PDF
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
WEB開発動作テストの自動化 を行うSeleniumの紹介
「Selenium実践入門」で学ぶテスト自動化の世界
海外のSeleniumカンファレンスではどんな発表がされているのか2014
201605 FA勉強会 seleniumスライド
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
Selenium 触ってみよう
201605 fa勉強会スライド
SeleniumConf16 UK参加報告
WebDriverで遊ぼう
サルから進化(?) Selenium WebDriverの 自動実行プログラム
Selenium Conference 2015 参加報告
20170809 start python_selenium
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
Selenium2(web driver)
ローカル環境のテスト自動化【勉強会資料】
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
Selenium入門
Selenium
Selenium入門(2023年版)
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9

More from 松田 千尋 (6)

PPTX
JavaScript祭in ForPro nuxt.jsとSSRことはじめ
PDF
WordCamp Tokyo2016itkaasan
PDF
Node.jsでデータ収集して デスクトップアプリを作ろう!
PDF
React.jsでHowManyPizza
PPT
BuddyPressで街のポータルサイトを作ろう
PDF
Windows Azure kaasanイメージについて
JavaScript祭in ForPro nuxt.jsとSSRことはじめ
WordCamp Tokyo2016itkaasan
Node.jsでデータ収集して デスクトップアプリを作ろう!
React.jsでHowManyPizza
BuddyPressで街のポータルサイトを作ろう
Windows Azure kaasanイメージについて

SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分