SlideShare a Scribd company logo
Selenium Web Driverを
使ってつまらない作業を
駆逐してやる!!
@joe_re
ある日のできごと
ぼく「一通り作業終わりましたー。」
PM「お疲れ!じゃあテストしなきゃなー。」
ぼく「テスト?ユニットテストなら書いてますが、
受け入れテストまでこちらでやるということですか?」
PM「いや、受け入れテストは別部隊でやるよ。
ただ今回は政治的な都合上、
全パターンテストをやっているっていう
エビデンスが欲しいんだよね。」
ぼく「エビデンス?(嫌な予感。。)」
※ 多少脚色してますが概ね実際の出来事です。
PM「全パターンの
スクショ撮りをしよう。」
ぼく「ファッ!?」
What is スクショ撮り
スクリーンショットを撮る作業のことです。
一切の知的労働性を排除された超絶力仕事なので、
エンジニアの体調を著しく損なってしまうことがあります。
スクショ撮り(英: take a Scsho!) とは
完成したシステムの画面上の表示のエビデンスを残すために行われる、画面のスクリーンショットを撮る
作業のこと。
理不尽な政治的事情によるエビデンスで要求されることが多い。
その性質上、作業によって得られる成果物も確実性があるとは言えず、達成感も得られない。
エンジニアからは嫌われる傾向にある。
一切の知的な喜びを得られないこの作業は、エンジニアを疲弊させ、鬱病、適応障害など様々な心の病を
引き起こしてしまう。
出典 wikipedia(ウソ)
駆逐してやる。
この世から1匹残らず!!
(ていうか仕様変わったらどうするの?1から撮り直すの?
勘弁してぇぇぇぇぇぇぇぇぇぇぇぇ!!!)
そこで救世主、
Selenium Web Driver!!
What is Selenium Web Driver
Webブラウザのテストを自動化するための

テストフレームワークです。
WebブラウザのAPIを利用して、

クリックやスクロール・文字入力などを始めとして、
あらかじめ定義されたテストを自動的に実行します。
Java、Ruby、Python、Nodejsなど、

様々な言語で記述することができます。
これを使って、
スクショ撮りを自動化します。
デモ
アプリケーションの機能
• サインアップ、ログイン、ログアウトできる
• 自分の自己紹介を登録し、閲覧できる
https://github.com/joe-re/selenium-snapshot-sample
自動化したい要件
1. 4人のテストユーザでログインする。
2. ログイン後にプロフィールページを表示する。
3. 表示される画面のスクリーンショットを撮る。
4. 撮ったスクリーンショットのファイル名は、

ユーザ名.pngにする。
解説
require ‘selenium-web-driver’
driver = Selenium::WebDriver.for :firefox
FileUtils.mkdir_p 'screenshots'
[
{ email: 'yui_hirasawa@test.co.jp', password: ‘yuihirasawa’ },
# ..中略.. #
].each do |user|
# ログイン
driver.navigate.to 'http://localhost:3000'
driver.find_element(:id, 'user_email').send_keys(user[:email])
driver.find_element(:id, 'user_password').send_keys(user[:password])
driver.find_element(:name, 'commit').submit
sleep(1) # デモで見やすいように1秒待機
# profileを表示する
driver.navigate.to 'http://localhost:3000/profile'
sleep(1) # デモで見やすいように1秒待機
# screenshotを撮る
username = driver.find_element(:id, 'username').text
driver.save_screenshot("screenshots/#{username}.png")
# ログアウト
driver.find_element(:id, 'logout').click
end
driver.quit # 終了
1人忘れてた!!
なんてクソなプロダクトだ!
画像は一番上にしてくれ!
仕様変更
でも、大丈夫!
そうSelenium Web Driver
ならね!!
Enjoy the life of engineers!
Thanks!
Ad

Recommended

pythonで始める筋トレ(競技プログラミング)
pythonで始める筋トレ(競技プログラミング)
shunki fujiwara
 
Pythonで始める競技プログラミング
Pythonで始める競技プログラミング
shunki fujiwara
 
Scala、play初心者が触った感想 share用
Scala、play初心者が触った感想 share用
amkt922
 
ひよこテスト駆動開発(PHPカンファレンス2014)
ひよこテスト駆動開発(PHPカンファレンス2014)
Oonishi Keitarou
 
非同期系統の基礎
非同期系統の基礎
segayuu
 
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
ytanno
 
ReSharperを使ってみた
ReSharperを使ってみた
ytanno
 
自動化のことはじめ - 第12回HTML5ビギナーズ

自動化のことはじめ - 第12回HTML5ビギナーズ

知己 久保
 
はじめてのLWF for Open Hack Day
はじめてのLWF for Open Hack Day
Daniel-Hiroyuki Haga
 
Looking glass + videoplayer
Looking glass + videoplayer
優介 黒河
 
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
Yuki Kuramochi
 
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
KatsuyaENDOH
 
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
Y Watanabe
 
2021 01-25 lt sho kato
2021 01-25 lt sho kato
katosho1
 
JS と Canvas で作るシューティングゲーム
JS と Canvas で作るシューティングゲーム
sairoutine
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
Y Watanabe
 
THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)
KatsuyaENDOH
 
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Y Watanabe
 
20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
akiko_pusu
 
自動化テスト道への歩み - PM編
自動化テスト道への歩み - PM編
Akira Jing
 
HTML5入門 for 頭がヤバい人向け
HTML5入門 for 頭がヤバい人向け
Kenichi Kanai
 
Angular js meets cakephp at cloud on the beach 2014 前夜祭
Angular js meets cakephp at cloud on the beach 2014 前夜祭
司 知花
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
 
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
Osamu Shimoda
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
finoue
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
Naoto Kishino
 
大人の事情が自販機に超自然現象を起こした その2
大人の事情が自販機に超自然現象を起こした その2
洋史 東平
 

More Related Content

What's hot (16)

はじめてのLWF for Open Hack Day
はじめてのLWF for Open Hack Day
Daniel-Hiroyuki Haga
 
Looking glass + videoplayer
Looking glass + videoplayer
優介 黒河
 
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
Yuki Kuramochi
 
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
KatsuyaENDOH
 
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
Y Watanabe
 
2021 01-25 lt sho kato
2021 01-25 lt sho kato
katosho1
 
JS と Canvas で作るシューティングゲーム
JS と Canvas で作るシューティングゲーム
sairoutine
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
Y Watanabe
 
THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)
KatsuyaENDOH
 
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Y Watanabe
 
20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
akiko_pusu
 
自動化テスト道への歩み - PM編
自動化テスト道への歩み - PM編
Akira Jing
 
HTML5入門 for 頭がヤバい人向け
HTML5入門 for 頭がヤバい人向け
Kenichi Kanai
 
Angular js meets cakephp at cloud on the beach 2014 前夜祭
Angular js meets cakephp at cloud on the beach 2014 前夜祭
司 知花
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
 
はじめてのLWF for Open Hack Day
はじめてのLWF for Open Hack Day
Daniel-Hiroyuki Haga
 
Looking glass + videoplayer
Looking glass + videoplayer
優介 黒河
 
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
Yuki Kuramochi
 
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
KatsuyaENDOH
 
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
Y Watanabe
 
2021 01-25 lt sho kato
2021 01-25 lt sho kato
katosho1
 
JS と Canvas で作るシューティングゲーム
JS と Canvas で作るシューティングゲーム
sairoutine
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
Y Watanabe
 
THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)
KatsuyaENDOH
 
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Y Watanabe
 
20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
akiko_pusu
 
自動化テスト道への歩み - PM編
自動化テスト道への歩み - PM編
Akira Jing
 
HTML5入門 for 頭がヤバい人向け
HTML5入門 for 頭がヤバい人向け
Kenichi Kanai
 
Angular js meets cakephp at cloud on the beach 2014 前夜祭
Angular js meets cakephp at cloud on the beach 2014 前夜祭
司 知花
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
 

Viewers also liked (20)

私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
Osamu Shimoda
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
finoue
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
Naoto Kishino
 
大人の事情が自販機に超自然現象を起こした その2
大人の事情が自販機に超自然現象を起こした その2
洋史 東平
 
デブサミ関西2012 B-3
デブサミ関西2012 B-3
Koichi Sakata
 
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
Osamu Shimoda
 
React+TypeScriptもいいぞ
React+TypeScriptもいいぞ
Mitsuru Ogawa
 
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
Jun Hosokawa
 
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
Nozomi Ito
 
bashでWebブラウザ(Selenium WebDriver)を動かした話
bashでWebブラウザ(Selenium WebDriver)を動かした話
洋史 東平
 
HTML5時代のUIテスト自動化
HTML5時代のUIテスト自動化
Osamu Shimoda
 
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
Embarcadero Technologies
 
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
Shinya Okano
 
なれる!IL
なれる!IL
Hiroshi Maekawa
 
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Jun Hosokawa
 
2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会
2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会
Hiroshi Toda
 
Delphi のダメな所
Delphi のダメな所
Jun Hosokawa
 
Using Selenium 3 0
Using Selenium 3 0
TEST Huddle
 
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
Osamu Shimoda
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
finoue
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
Naoto Kishino
 
大人の事情が自販機に超自然現象を起こした その2
大人の事情が自販機に超自然現象を起こした その2
洋史 東平
 
デブサミ関西2012 B-3
デブサミ関西2012 B-3
Koichi Sakata
 
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
Osamu Shimoda
 
React+TypeScriptもいいぞ
React+TypeScriptもいいぞ
Mitsuru Ogawa
 
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
Jun Hosokawa
 
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
Nozomi Ito
 
bashでWebブラウザ(Selenium WebDriver)を動かした話
bashでWebブラウザ(Selenium WebDriver)を動かした話
洋史 東平
 
HTML5時代のUIテスト自動化
HTML5時代のUIテスト自動化
Osamu Shimoda
 
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
Embarcadero Technologies
 
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
Shinya Okano
 
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Jun Hosokawa
 
2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会
2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会
Hiroshi Toda
 
Delphi のダメな所
Delphi のダメな所
Jun Hosokawa
 
Using Selenium 3 0
Using Selenium 3 0
TEST Huddle
 
Ad

Similar to SeleniumWebDriverを使ってつまらない作業を駆逐してやる!! (20)

WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介
Nobuhiko Futagami
 
201605 FA勉強会 seleniumスライド
201605 FA勉強会 seleniumスライド
秀平 高橋
 
201605 fa勉強会スライド
201605 fa勉強会スライド
秀平 高橋
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
Nozomi Ito
 
Selenium 触ってみよう
Selenium 触ってみよう
Oda Shinsuke
 
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Nozomi Ito
 
WebDriverで遊ぼう
WebDriverで遊ぼう
洋史 東平
 
Selenium2(web driver) ide編
Selenium2(web driver) ide編
Tetsuya Hasegawa
 
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
Osamu Shimoda
 
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
Tadashi Nemoto
 
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
洋史 東平
 
退屈なブラウザ作業をpuppeteerにやらせたいお話
退屈なブラウザ作業をpuppeteerにやらせたいお話
Tadashi Nemoto
 
20170809 start python_selenium
20170809 start python_selenium
Hiroko Tamagawa
 
Selenium IDE for primer
Selenium IDE for primer
yasukoS
 
Selenium入門
Selenium入門
onozaty
 
サルから進化(?) Selenium WebDriverの 自動実行プログラム
サルから進化(?) Selenium WebDriverの 自動実行プログラム
洋史 東平
 
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
Osamu Shimoda
 
Selenium2(web driver)
Selenium2(web driver)
Tetsuya Hasegawa
 
Microsoft Excelでgoogle chromeを動かした話
Microsoft Excelでgoogle chromeを動かした話
洋史 東平
 
WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介
Nobuhiko Futagami
 
201605 FA勉強会 seleniumスライド
201605 FA勉強会 seleniumスライド
秀平 高橋
 
201605 fa勉強会スライド
201605 fa勉強会スライド
秀平 高橋
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
Nozomi Ito
 
Selenium 触ってみよう
Selenium 触ってみよう
Oda Shinsuke
 
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Nozomi Ito
 
WebDriverで遊ぼう
WebDriverで遊ぼう
洋史 東平
 
Selenium2(web driver) ide編
Selenium2(web driver) ide編
Tetsuya Hasegawa
 
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
Osamu Shimoda
 
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
Tadashi Nemoto
 
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
洋史 東平
 
退屈なブラウザ作業をpuppeteerにやらせたいお話
退屈なブラウザ作業をpuppeteerにやらせたいお話
Tadashi Nemoto
 
20170809 start python_selenium
20170809 start python_selenium
Hiroko Tamagawa
 
Selenium IDE for primer
Selenium IDE for primer
yasukoS
 
Selenium入門
Selenium入門
onozaty
 
サルから進化(?) Selenium WebDriverの 自動実行プログラム
サルから進化(?) Selenium WebDriverの 自動実行プログラム
洋史 東平
 
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
Osamu Shimoda
 
Microsoft Excelでgoogle chromeを動かした話
Microsoft Excelでgoogle chromeを動かした話
洋史 東平
 
Ad

SeleniumWebDriverを使ってつまらない作業を駆逐してやる!!