SlideShare a Scribd company logo
Selenium Conference 参加報告
サイボウズ株式会社 宮田 淳平
2015/10/20 Selenium勉強会@サイボウズ
自己紹介
▌宮田 淳平
▌サイボウズ入社7年目
生産性向上チーム所属
▌趣味:ランニング
一昨日、四万十川ウルトラマラソン100km完走!
▌11/17に『アジャイルアカデミー Selenium Boot Camp』のチューター
やります
テスト自動化入門者向けの有料講座
2
今日の内容
▌Selenium Conferenceとは?
▌会場の雰囲気
▌おもしろかったセッション紹介
3
Selenium Conferenceとは?
▌Seleniumについてのカンファレンス
▌今年で5回目で、9/8-9/10にポートランドで開催
開催地は毎年変わっており、過去にサンフランシスコ、ロンドン、ボストン、バンガ
ロールで開催されている
▌参加チケットは早く買うほど安い
$249→$349→$449
4
スケジュール
▌一日目がワークショップ型のセッション中心、二日目・三日目が通常の
セッション
自分は二日目からの参加
▌通常のセッションはすべてビデオが公開されている
http://confengine.com/selenium-conf-2015/schedule
スライドも9割方公開されている
5
Portland
▌街が綺麗で住みやすそう
6
会場の様子
7
8
9
全体の雰囲気
▌会場のほとんどの人は業務でSeleniumを使っている
▌いわゆる記録再生形式のツール(IDE/Builder)の話はほぼない
一つだけあるけど辛い内容
Why Building Record/Playback Tools Is So Hard
▌中級者以上向け
セッションはBeginner, Intermediate, Advancedと分類されているけど、Beginner
と書かれているものでもある程度Seleniumの知識がないと厳しそう
▌質疑応答は活発で、食事中でも参加者同士の議論が行われてたり
10
おもしろかったセッション
11
Selenium: State of the Union
▌WebDriverの生みの親Simon Stewart(Facebook)による
Keynote
▌前半はWebのトレンドの移り変わり
▌後半はモバイルの自動テストの話
AndroidはselendroidとかappiumでOK
iOSはフレームワークが変わったり速度が遅かったりで辛い
▌Facebookはこの問題を解決するためにWebDriverAgentと
FBSimulatorControlをオープンソースで公開
12
WebDriverAgent
▌iOS用のWebDriverサーバー
実機じゃなくてシミュレータ用
▌アプリを横断してテスト可能
▌速い
appiumだとjavascriptを経由して操作するため遅い
WebDriverAgentはprivateなAPIを直接呼び出すため速い
▌安定するという噂
13
FBSimulatorControl
▌iOSシミュレータを管理するためのもの
▌シミュレータを複数起動できる
実機は遅延がある
これまでシミュレータは一つしか起動できなかった
▌WebDriverAgentもFBSimulatorControlもappiumに取り込まれ
そう
14
Selenide: Concise UI Tests in Java
▌SelenideというJavaで書かれたオープンソースのSeleniumクライアント
ライブラリの紹介
通常のSeleniumクライアントのラッパー
Selenium界のjQueryみたいなもの
▌通常のSeleniumクライアントは冗長で不安定
▌Selenideは簡潔で安定
テストを書く上ではまりがちな問題を気にしなくてよくなる
▌ビジネスロジックに集中できるようにするのが目的
15
Selenide: concise API
@Test
public void userCanLogin() {
open("http://localhost:8080/login");
$(By.name("user.name")).setValue("john");
$("#submit").click();
$(".menu").shouldHave(text("Hello, John!"));
}
https://docs.google.com/presentation/d/1ZksjuL2vPN_pkhMuon0HH4gm7KNmjU50pByRRGzgVko/edit#slide=id.ga5fa11dc4_033
1. smart waiting
$(".loading_progress").shouldBe(visible);
$("#menu").shouldHave(text("Hello, John!"));
$(By.name("gender")).shouldNotBe(selected);
$(By.name("gender")).should(disappear);
forget the ajax!
https://docs.google.com/presentation/d/1ZksjuL2vPN_pkhMuon0HH4gm7KNmjU50pByRRGzgVko/edit#slide=id.ga5fa11dc4_033
3. Collections
$$(“#employees tbody tr”).shouldHave(
texts(
“John Belushi”,
“Bruce Willis”,
“John Malkovich”
)
);
https://docs.google.com/presentation/d/1ZksjuL2vPN_pkhMuon0HH4gm7KNmjU50pByRRGzgVko/edit#slide=id.ga5fa11dc4_033
4. Automated screenshots
https://docs.google.com/presentation/d/1ZksjuL2vPN_pkhMuon0HH4gm7KNmjU50pByRRGzgVko/edit#slide=id.ga5fa11dc4_033
9. sizzle selectors
https://docs.google.com/presentation/d/1ZksjuL2vPN_pkhMuon0HH4gm7KNmjU50pByRRGzgVko/edit#slide=id.ga5fa11dc4_033
10. Selenide profiler
Report for userCanReplyToIncomingMessages(ui.BankMessagesSpec)
+----------------------+---------------------------------------------+--------+----------+
|Element |Subject |Status |ms. |
+----------------------+---------------------------------------------+--------+----------+
|open |http://localhost:2070/ |PASSED |4669 |
|open |http://localhost:2070/fakeLogin?username=bob |PASSED |1324 |
|By.linkText: Quicky |click() |PASSED |793 |
|#btn-message-reply |click() |PASSED |1002 |
|By.name: message.text |should be(focused) |PASSED |57 |
|By.name: message.text |should have(text 'long thread') |PASSED |47 |
|By.name: message.text |set value(Hello world!) |PASSED |69 |
|#send-button |click() |PASSED |1051 |
|.alert-success |should be(visible) |PASSED |71 |
+--------------------+-----------------------------------------------+--------+----------+
https://docs.google.com/presentation/d/1ZksjuL2vPN_pkhMuon0HH4gm7KNmjU50pByRRGzgVko/edit#slide=id.ga5fa11dc4_033
11. fast set value
Problem:
WebElement.sendKeys() is slow
Solution:
mvn -Dselenide.fastSetValue=true
https://docs.google.com/presentation/d/1ZksjuL2vPN_pkhMuon0HH4gm7KNmjU50pByRRGzgVko/edit#slide=id.ga5fa11dc4_033
Selenide: Concise UI Tests in Java
▌部分的に導入できるので、Seleniumテストを一から始めるチームはもち
ろん、既にSelenium書いてるチームでも使えそう
Java限定だけど・・・
▌誰か実際の運用体験談お願いします!
23
Distributed Automation Using Selenium Grid / AWS
/ Autoscaling
▌ExpediaがautoscaleするSelenium GridをAWS上で構築している
話
▌構成と費用感、ハマリポイントなど
並列数を増やしていくとjenkins側や帯域などが問題になってくる
ChromeよりFirefoxの方が消費するリソースが少ないらしい
24
GRID TOPOLOGy - 1
HUB
• parallel execution for small projects
• 1 executor - 1 hub - 11 nodes
• eg: c3.8xlarge can execute 250*+ tests in parallel
• Test run would finish in ~5mins
c3.8xlarge
c3.8xlarge
c3.xlarge
25
….
https://www.slideshare.net/slideshow/embed_code/key/H7QmI1pAf2r9u7
GRID TOPOLOGy - 2
HUB
• Suitable for medium size projects (500+ tests)
• More tests by adding one more executor (2 executors
1 hub and 22 node),this could double your parallel
execution cases
c3.8xlarge
c3.8xlarge
c3.xlarge
26
….
….
https://www.slideshare.net/slideshow/embed_code/key/H7QmI1pAf2r9u7
GRID TOPOLOGy - 4
HUB
HUB
• Use two hubs to double the
tests (1000+)
• But speed is same as
topology 2 (~5mins)
• Double the cost
c3.8xlarge
c3.xlarge
27
https://www.slideshare.net/slideshow/embed_code/key/H7QmI1pAf2r9u7
Distributed Automation Using Selenium Grid / AWS
/ Autoscaling
▌ちょうどSelenium Gridをクラウドに移動しようとしてたのでとても参考に
なった
▌うらやましい環境ではあるけど、正直がんばりすぎ&コストかけすぎ感
jenkinsとhubは常時立ち上げてないといけないので、どう考えても月に数千ドル
〜数万ドルのコスト
▌UIテストの数は極力減らしましょうみたいな話もあってやはりどこも苦労し
てる印象
まとめ
▌取り上げたセッション以外にも性能テストやビジュアルテストの話など話題
が豊富でした
▌個人的には自分の業務に関係あるトピックが多く、会場の盛り上がりなど
からもとてもよい刺激を受けることができました
▌資料は後からでも手に入るので、Seleniumコミュニティの人とコミュニ
ケーションできるのが最大のメリット
自分は議論するのは厳しかったので、語学力向上したらまた行ってみたいです
29
WE ARE HIRING!
30
Seleniumを探求したい方はぜひサイボウズへ!
http://cybozu.co.jp/company/job/recruitment/

More Related Content

PPTX
kintoneチームを支えるSeleniumテスト
Jumpei Miyata
 
PDF
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
Y Watanabe
 
PPTX
Sikuli x 知っていますか?
Masuo Ohara
 
PDF
ハイパフォーマンスSeleniumテスト@サイボウズ
Jumpei Miyata
 
PDF
Jenkins 再入門
Jumpei Miyata
 
PDF
テストエンジニアと組織構造 @Cybozu
Jumpei Miyata
 
PDF
受入試験を自動化したらDevとQAのフィードバックループがまわりはじめた話
Jumpei Miyata
 
PDF
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato
 
kintoneチームを支えるSeleniumテスト
Jumpei Miyata
 
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
Y Watanabe
 
Sikuli x 知っていますか?
Masuo Ohara
 
ハイパフォーマンスSeleniumテスト@サイボウズ
Jumpei Miyata
 
Jenkins 再入門
Jumpei Miyata
 
テストエンジニアと組織構造 @Cybozu
Jumpei Miyata
 
受入試験を自動化したらDevとQAのフィードバックループがまわりはじめた話
Jumpei Miyata
 
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato
 

Viewers also liked (19)

PDF
ゲーム情報設計における「霧」との戦い
裕哉 駒場
 
PDF
20151021 cookpad talk_test_engineer
Kazuaki Matsuo
 
PPTX
Robotium を使った UI テストとレイアウト確認の効率化
Kenichi Tatsuhama
 
PDF
【Camphor ×サイボウズ】selenium勉強会
Yuki Okada
 
PDF
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
kotaro_hirayama
 
PPTX
Selenium2でつくるテストケースの構成について
yufu yufu
 
PPTX
kintone dev camp vol.11 kintoneの基本説明
kintone papers
 
PPTX
kintone dev camp vol.11 kintone rest api ハンズオン初級編
kintone papers
 
PDF
概説 テスト分析
崇 山﨑
 
PPTX
kintoneフロントエンド開発 モダン化への道
Yusuke Amano
 
PDF
Selenium Antipatterns
Jumpei Miyata
 
PPTX
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
Yuki Okada
 
PDF
【Draft】サービス説明資料2017.03.01
Kohta Wada
 
PDF
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
Yahoo!デベロッパーネットワーク
 
PDF
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Jumpei Miyata
 
PDF
SIerもはじめる わたしたちのDevOps #jjug_ccc
Mizuki Ugajin
 
PDF
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
POStudy
 
PDF
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
 
PDF
Accenture Cloud Platform: Control, Manage and Govern the Enterprise Cloud
accenture
 
ゲーム情報設計における「霧」との戦い
裕哉 駒場
 
20151021 cookpad talk_test_engineer
Kazuaki Matsuo
 
Robotium を使った UI テストとレイアウト確認の効率化
Kenichi Tatsuhama
 
【Camphor ×サイボウズ】selenium勉強会
Yuki Okada
 
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
kotaro_hirayama
 
Selenium2でつくるテストケースの構成について
yufu yufu
 
kintone dev camp vol.11 kintoneの基本説明
kintone papers
 
kintone dev camp vol.11 kintone rest api ハンズオン初級編
kintone papers
 
概説 テスト分析
崇 山﨑
 
kintoneフロントエンド開発 モダン化への道
Yusuke Amano
 
Selenium Antipatterns
Jumpei Miyata
 
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
Yuki Okada
 
【Draft】サービス説明資料2017.03.01
Kohta Wada
 
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
Yahoo!デベロッパーネットワーク
 
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Jumpei Miyata
 
SIerもはじめる わたしたちのDevOps #jjug_ccc
Mizuki Ugajin
 
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
POStudy
 
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
 
Accenture Cloud Platform: Control, Manage and Govern the Enterprise Cloud
accenture
 
Ad

Similar to Selenium Conference 2015 参加報告 (14)

PDF
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Nozomi Ito
 
PDF
宣伝:SeleniumConf Tokyo 2019やりますよ!
Naruhiko Ogasawara
 
PDF
SeleniumConf16 UK参加報告
Osamu Shimoda
 
PPTX
[Japan Selenium User Community in Remote] Intro
Woohyeok Kim
 
PDF
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
 
PDF
SeleniumConf Chicago 参加報告
aha_oretama
 
PDF
「Selenium実践入門」で学ぶテスト自動化の世界
Nozomi Ito
 
PPTX
[Selenium kansai] Intro
Woohyeok Kim
 
PDF
5分で分かるselenium conference berlin 2017
Toshiya Komoda
 
PPTX
Selenium IDE for primer
yasukoS
 
PDF
Azureを使って手軽にブラウザテストの自動化をはじめよう
Naoya Kojima
 
PDF
Selenium入門(2023年版)
onozaty
 
PDF
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
Tadashi Nemoto
 
PPTX
WEB開発動作テストの自動化 を行うSeleniumの紹介
Nobuhiko Futagami
 
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Nozomi Ito
 
宣伝:SeleniumConf Tokyo 2019やりますよ!
Naruhiko Ogasawara
 
SeleniumConf16 UK参加報告
Osamu Shimoda
 
[Japan Selenium User Community in Remote] Intro
Woohyeok Kim
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
 
SeleniumConf Chicago 参加報告
aha_oretama
 
「Selenium実践入門」で学ぶテスト自動化の世界
Nozomi Ito
 
[Selenium kansai] Intro
Woohyeok Kim
 
5分で分かるselenium conference berlin 2017
Toshiya Komoda
 
Selenium IDE for primer
yasukoS
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Naoya Kojima
 
Selenium入門(2023年版)
onozaty
 
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
Tadashi Nemoto
 
WEB開発動作テストの自動化 を行うSeleniumの紹介
Nobuhiko Futagami
 
Ad

More from Jumpei Miyata (12)

PDF
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み
Jumpei Miyata
 
PDF
オートスケールする GitHub Actions セルフホストランナーを構築してる話
Jumpei Miyata
 
PDF
GitHub Actions のはじめかた
Jumpei Miyata
 
PDF
サイボウズの開発を支える GitHub × CircleCI
Jumpei Miyata
 
PDF
サイボウズを支えるCircleCI
Jumpei Miyata
 
PDF
サイボウズの CI/CD 事情 〜Jenkins おじさんは CircleCI おじさんにしんかした!〜
Jumpei Miyata
 
PDF
組織横断でエンジニアを支援する生産性向上チームの役割
Jumpei Miyata
 
PDF
【PR】エンジニアがkintoneを試すべき3つの理由
Jumpei Miyata
 
PDF
Jenkinsfileのlintで救える命がある
Jumpei Miyata
 
PDF
すべてを自動化せよ! 〜生産性向上チームの挑戦〜
Jumpei Miyata
 
PDF
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jumpei Miyata
 
PDF
Effective Automation 〜変化に強い開発基盤〜
Jumpei Miyata
 
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み
Jumpei Miyata
 
オートスケールする GitHub Actions セルフホストランナーを構築してる話
Jumpei Miyata
 
GitHub Actions のはじめかた
Jumpei Miyata
 
サイボウズの開発を支える GitHub × CircleCI
Jumpei Miyata
 
サイボウズを支えるCircleCI
Jumpei Miyata
 
サイボウズの CI/CD 事情 〜Jenkins おじさんは CircleCI おじさんにしんかした!〜
Jumpei Miyata
 
組織横断でエンジニアを支援する生産性向上チームの役割
Jumpei Miyata
 
【PR】エンジニアがkintoneを試すべき3つの理由
Jumpei Miyata
 
Jenkinsfileのlintで救える命がある
Jumpei Miyata
 
すべてを自動化せよ! 〜生産性向上チームの挑戦〜
Jumpei Miyata
 
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jumpei Miyata
 
Effective Automation 〜変化に強い開発基盤〜
Jumpei Miyata
 

Recently uploaded (8)

PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 

Selenium Conference 2015 参加報告