Submit Search
Upload
20161212 selenium adventcalender
•
0 likes
•
707 views
N
Naoya Kojima
Follow
for 20161212 selenium adventcalender
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
Naoya Kojima
ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩
Satsuki Urayama
Selenium Antipatterns
Selenium Antipatterns
Jumpei Miyata
テスト自動化の様々な道具を使ってみた四方山話
テスト自動化の様々な道具を使ってみた四方山話
haljik Seiji
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
Yahoo!デベロッパーネットワーク
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会
Hiroshi Toda
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Nozomi Ito
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
Recommended
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
Naoya Kojima
ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩
Satsuki Urayama
Selenium Antipatterns
Selenium Antipatterns
Jumpei Miyata
テスト自動化の様々な道具を使ってみた四方山話
テスト自動化の様々な道具を使ってみた四方山話
haljik Seiji
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
Yahoo!デベロッパーネットワーク
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会
Seleniumの薄っすい話 百八式 @ 第3回 日本Seleniumユーザーコミュニティ勉強会
Hiroshi Toda
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Nozomi Ito
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
手動テストからの移行大作戦
手動テストからの移行大作戦
Satsuki Urayama
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
Nozomi Ito
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
Teppei Sato
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
Nozomi Ito
Selenium boot campの紹介
Selenium boot campの紹介
Nozomi Ito
自動化パタンランゲージ
自動化パタンランゲージ
Hiroshi Maekawa
エンタープライズ開発でのSelenium活用事例
エンタープライズ開発でのSelenium活用事例
isaac-otao
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
yuichi_kuwahara
テストの自動化を考える前に
テストの自動化を考える前に
bleis tift
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
Nozomi Ito
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
テスト自動化のパターンと実践
テスト自動化のパターンと実践
Hiroshi Maekawa
ブラウザテスト自動化入門
ブラウザテスト自動化入門
takahiro sakuma
Selenium IDE for primer
Selenium IDE for primer
yasukoS
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
yuichi_kuwahara
サイボウズがWebアプリ自動テスト に活用しているossツールの紹介
サイボウズがWebアプリ自動テスト に活用しているossツールの紹介
Yuki Okada
Automation test.ssf alpha
Automation test.ssf alpha
ryuji koyama
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
Naoto Kishino
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
Kazuhito Miura
More Related Content
What's hot
手動テストからの移行大作戦
手動テストからの移行大作戦
Satsuki Urayama
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
Nozomi Ito
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
Teppei Sato
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
Nozomi Ito
Selenium boot campの紹介
Selenium boot campの紹介
Nozomi Ito
自動化パタンランゲージ
自動化パタンランゲージ
Hiroshi Maekawa
エンタープライズ開発でのSelenium活用事例
エンタープライズ開発でのSelenium活用事例
isaac-otao
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
yuichi_kuwahara
テストの自動化を考える前に
テストの自動化を考える前に
bleis tift
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
Nozomi Ito
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
テスト自動化のパターンと実践
テスト自動化のパターンと実践
Hiroshi Maekawa
ブラウザテスト自動化入門
ブラウザテスト自動化入門
takahiro sakuma
Selenium IDE for primer
Selenium IDE for primer
yasukoS
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
yuichi_kuwahara
サイボウズがWebアプリ自動テスト に活用しているossツールの紹介
サイボウズがWebアプリ自動テスト に活用しているossツールの紹介
Yuki Okada
Automation test.ssf alpha
Automation test.ssf alpha
ryuji koyama
What's hot
(20)
手動テストからの移行大作戦
手動テストからの移行大作戦
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
Selenium boot campの紹介
Selenium boot campの紹介
自動化パタンランゲージ
自動化パタンランゲージ
エンタープライズ開発でのSelenium活用事例
エンタープライズ開発でのSelenium活用事例
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
テストの自動化を考える前に
テストの自動化を考える前に
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
テスト自動化のパターンと実践
テスト自動化のパターンと実践
ブラウザテスト自動化入門
ブラウザテスト自動化入門
Selenium IDE for primer
Selenium IDE for primer
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
サイボウズがWebアプリ自動テスト に活用しているossツールの紹介
サイボウズがWebアプリ自動テスト に活用しているossツールの紹介
Automation test.ssf alpha
Automation test.ssf alpha
Similar to 20161212 selenium adventcalender
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
Naoto Kishino
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
Kazuhito Miura
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Toshiyuki Hirata
STYLY Studioのテストをブラウザ自動操作で効率化する
STYLY Studioのテストをブラウザ自動操作で効率化する
Segur Segur
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
Nozomi Ito
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Hiroko Tamagawa
自動化と画面を考えてみました
自動化と画面を考えてみました
skipping classes
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
Toshiya Komoda
Ja sst東北2013
Ja sst東北2013
勝信 今井
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
20161218 selenium study4
20161218 selenium study4
Naoya Kojima
第2回nseg slideshare
第2回nseg slideshare
ko ty
WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介
Nobuhiko Futagami
OpenQRM Intoroduction
OpenQRM Intoroduction
OSSラボ株式会社
Selenium入門
Selenium入門
onozaty
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Takafumi Ikeda
201605 fa勉強会スライド
201605 fa勉強会スライド
秀平 高橋
Similar to 20161212 selenium adventcalender
(20)
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
STYLY Studioのテストをブラウザ自動操作で効率化する
STYLY Studioのテストをブラウザ自動操作で効率化する
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
自動化と画面を考えてみました
自動化と画面を考えてみました
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
Ja sst東北2013
Ja sst東北2013
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
20161218 selenium study4
20161218 selenium study4
第2回nseg slideshare
第2回nseg slideshare
WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介
OpenQRM Intoroduction
OpenQRM Intoroduction
Selenium入門
Selenium入門
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
201605 fa勉強会スライド
201605 fa勉強会スライド
More from Naoya Kojima
What’s Next For Selenium?
What’s Next For Selenium?
Naoya Kojima
Automated Analytics Testing
Automated Analytics Testing
Naoya Kojima
20170710 hifive-test-meetup
20170710 hifive-test-meetup
Naoya Kojima
JJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPA
Naoya Kojima
JJUG CCC 2017 Spring LT about Twice Submit
JJUG CCC 2017 Spring LT about Twice Submit
Naoya Kojima
20161222 selenium adventcalender
20161222 selenium adventcalender
Naoya Kojima
20161203 selenium adventcalender
20161203 selenium adventcalender
Naoya Kojima
20161218 selenium study4-part1
20161218 selenium study4-part1
Naoya Kojima
jjug_night_20161121
jjug_night_20161121
Naoya Kojima
More from Naoya Kojima
(9)
What’s Next For Selenium?
What’s Next For Selenium?
Automated Analytics Testing
Automated Analytics Testing
20170710 hifive-test-meetup
20170710 hifive-test-meetup
JJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about Twice Submit
JJUG CCC 2017 Spring LT about Twice Submit
20161222 selenium adventcalender
20161222 selenium adventcalender
20161203 selenium adventcalender
20161203 selenium adventcalender
20161218 selenium study4-part1
20161218 selenium study4-part1
jjug_night_20161121
jjug_night_20161121
20161212 selenium adventcalender
1.
Selenium Serverを サービス化した時の話 Dec/12/2016 Naoya Kojima @jugemix
2.
環境作りの前に やりたいこと(背景・要求)と、ユースケースによる実現手法の整理
3.
背景 Selenium を使って実装した自動テストを自分の端末で実行していた
画面を占有される為、他の作業をできなかった 自動テスト実行イメージ 時々遊んでいる(使われていない時間がある)端末が隣にあった テストシステ ム Selenium Server chrome driver etc… Google Chrome etc… 自動テスト 自動テスト 自動テスト 自分の端末
4.
ビジネス要求 自分の端末で実行する場合は、自動テストが画面を占有しないようにしたい 自動テストは従来通り自分の端末で実行するが、利用者不在の稼働中端末があ れば、そこでも実行出来るようにしたい
端末利用者が在席している場合は、自動テストがその仕事を邪魔しないようにした い
5.
機能要求 自動テストは、バックグランドで実行されなければならない ブラウザを操作するSelenium
をバックグランドで実行する必要がある バックグランドで実行 サービス/デーモンとして実行すること 課題 バックグランドでSelenium を実行できるのか確認する このとき、意図するブラウザで自動テストを実行できるのか確認する 複数端末で互いに独立したテストケースが並列実行されなければならない Selenium Gridの環境下で自動テストを実行する必要がある 課題 同一(種類、バージョン)ブラウザを複数のSelenium Grid Nodeで並列実行できるか確認する
6.
本資料の用語定義 自動テスト テストにおけるブラウザの操作を、テストシステムへの入力として一定のアプローチに基づき定めたもの
テストシステムへの入力 今回はキーワード駆動アプローチを用いた為、テストステップファイルがそれに該当する 構造化スクリプトを使用したアプローチの場合は、テストコード(Javaならメソッド)がそれに該当する(データ駆動アプローチであるかどうかは無 関係) テストシステム 自動テストを一定のルールに基づき実行するプログラム 自動テストの識別や実行はJUnit、TestNG等のテストツールに委譲するよう設計するのが一般的である 自動テストをブラウザへのリクエストに変換する部分はSelenium に委譲する 自動テストが実行される仕組み(詳細は別スライドにて後日解説予定) テストシステムは自動テストをselenium-java.jar等のライブラリを使用して実装する(一般的に、「Seleniumを使う」と 言った場合、これを指す) テストシステムの実行時に自動テストはWebDriverの提供するJSON Wire Protocolに準拠するHTTPリクエストに変換される JSON Wire Protocolに準拠したHTTPリクエストは、selenium-server-standalone-x.x.x.jarやchoromedriver.exe等の各種ド ライバが実装するRestful APIで受信できるようになる この結果、各種ブラウザに対応したドライバによってブラウザの操作(自動テスト)が実行される
7.
ユースケース図
8.
主なユースケース記述1 テストシステムによる自動テストリクエストの送信 テストシステムは、Hub役のSelenium
Serverへ従来通りJSON Wire Protocolに従った 自動テストをHTTPリクエストとして送信する 参照 「本資料の用語定義」>「自動テストが実行される仕組み」
9.
主なユースケース記述2 Selenium Grid
Hub の起動・停止 Selenium Server 搭載サーバは、起動時にGrid Hub をサービスとして起動する Selenium Server 搭載サーバは、停止時にGrid Hubサービスを停止する Selenium Grid Node の起動・停止 Selenium Server搭載クライアントは、起動時にGrid Nodeをサービスとして起動する Node役のSelenium Serverは、サービス起動時に特定のブラウザの操作に特化したドライ バのセッションを生成する 課題と対策 テストが複数種類のブラウザに跨る場合、複数クライアントに同一ブラウザのインスタンスを生成しても、 Hub役はリクエストの転送しか行いません。つまり負荷分散をしないのでリクエストが偏る場合があります。 その偏りを防ぐ為に、ここではNode役にブラウザの種類を1:1で紐付けます。 Selenium Server搭載クライアントは、停止時にGrid Nodeサービスを停止する
10.
主なユースケース記述3 Selenium Grid
Hub のリクエストの送・受信 Hub役のSelenium Serverは、テストシステムからリクエストを受信する Hub役のSelenium Serverは、Node役のSelenium Serverにリクエストを送信する Selenium Grid Node のリクエストの受信 Node役のSelenium Serverは、受信したリクエストを指定されたブラウザドライバに 送信する ブラウザドライバは、受信したリクエストに基づきブラウザを操作する
11.
要求の実現イメージ 自動テスト実行イメージ テストシ ステム Selenium Server Hub Selenium Server Node chrome driver etc… Google Chrome etc… 自動テスト 自分の端末 開発用 サーバ等 テスト実行端末1 テスト実行端末2 テスト実行端末3 テスト実行端末… ドライバへのHTTPリクエストの送受信は バックグラウンドで実行される
12.
課題 Selenium Serverの配布、設定が面倒
テスト実行用端末へのNode役のSelenium Server 開発用サーバ等へのHub役のSelenium Server
13.
Selenium Gridをサービス化する 方法とポイント
14.
Selenium Server Grid
Hub & Node の サービス化 用意するもの Java Service Wrapper https://wrapper.tanukisoftware.com/doc/japanese/introduction.html 各種ドライバ IEDriver , chrome driver , gecko driver 基本手順 実行環境に依存する為、次の躓きがちなポイントを抑える ここでは下記公式の手順書を参照すれば分かることは割愛する 参考文献 https://wrapper.tanukisoftware.com/doc/japanese/integrate.html#method4 https://wrapper.tanukisoftware.com/doc/japanese/integrate-jar-win.html
15.
サービス化のポイント1 4種類のサービス化の方法のうち、今回は selenium-server-standalone-x.x.x.jarファ イルが既に提供されていることから、 WrapperJarAppヘルパークラスを使用する 方法を採用する。 よってwrapper.confでは、wrapperクラス がselenium-serverは実行されるように指 定する
16.
サービス化のポイント2 wrapperクラスがselenium-server-standalone-x.x.x.jar実行する時 に必要なパラメータを指定する。 スペース区切りで1つずつパラメータを指定する。10個目のクォー トで囲むパラメータは上記の通り指定する。
17.
サービス化のポイント3 これは、Windows 7(64bit)「services.msc」で参照したインス トール後のサービスの状態。 4行目「ログオン」列を見ると、1~3行目とユーザが異なってい ることが分かる。次スライドで理由を説明する。
18.
サービス化のポイント4 自動テストで証跡としてスクリーンショットを撮る場合の注意点 Internet
Explorerは、ローカルシステムアカウントのサービスとして実行されない場 合、スクリーンショットが真っ黒になる為、下記の通り設定する。 一方、Chromeはローカルシステムアカウントの場合、自動テストが実行されないた め、以下の通り設定する。
19.
サービス化のポイント5 selenium-server-standalone-x.x.x.jar (Node役のSelenium)がJSON Wire Protcol に基づくHTTPリクエストを送信するドライ バは、binディレクトリに格納する
20.
結果 自分の端末で実行する場合も、自動テストが画面を占有しなくなった 利用者不在の稼働中端末でも、自動テストを実行出来るようになった
端末利用者が在席している場合も、自動テストがその仕事を邪魔しないようになっ た Java Service Wrapperのお陰でSelenium Serverをパッケージ化できた為、開発 用サーバ等やテスト実行端末へのSelenium Serverの配布、インストールが容易 になった Selenium Serverのサービス/デーモン化に挑戦してみよう!
Download now