Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
一休.comのE2Eテスト事情 ~Selenium 3.0 対応~ /seleniumjp4_...
Search
shota akasaka
December 18, 2016
Programming
11
26k
一休.comのE2Eテスト事情 ~Selenium 3.0 対応~ /seleniumjp4_ikyu
2016年12月18日の第4回 日本Seleniumユーザーコミュニティ勉強会の発表資料です。
https://seleniumjp.connpass.com/event/45208/
shota akasaka
December 18, 2016
Tweet
Share
More Decks by shota akasaka
See All by shota akasaka
imgix導入で画像最適化とサイトスピード改善/imageoptimize_sitespeed_up_ikyu_with_imgix
shotaakasaka
4
14k
ブランチデプロイ環境で エンジニアが安心できる開発現場へ/branch-deploy-environment-for-engineers
shotaakasaka
2
1.4k
TensorFlowで競馬予想/developmentcamp20170212-yuigahama
shotaakasaka
0
2.2k
OSSコミッタになりたくて 〜古典部開発合宿 @ 京都〜/developmentcamp-kyoto
shotaakasaka
1
2.8k
一休.comのE2Eテスト事情 ~ギリギリ話せるところまで話します~ /cybozu_ikyu_e2e
shotaakasaka
25
16k
20151027_第1回 #Java騎士団 円卓会議
shotaakasaka
0
2.4k
20151020_Selenium勉強会@サイボウズ
shotaakasaka
12
10k
Other Decks in Programming
See All in Programming
React 19アップデートのために必要なこと
uhyo
8
1.5k
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
480
技術を改善し続ける
gumioji
0
160
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
990
Datadog Workflow Automation で圧倒的価値提供
showwin
1
280
ABEMA iOS 大規模プロジェクトにおける段階的な技術刷新 / ABEMA iOS Technology Upgrade
akkyie
1
220
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
9
2.5k
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
160
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.1k
楽しく向き合う例外対応
okutsu
0
710
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
730
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
580
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Designing for Performance
lara
605
68k
Speed Design
sergeychernyshev
27
810
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Optimizing for Happiness
mojombo
377
70k
Code Review Best Practice
trishagee
67
18k
Become a Pro
speakerdeck
PRO
26
5.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Typedesign – Prime Four
hannesfritz
41
2.5k
Transcript
ҰٳDPNͷ&&ςετࣄ d4FMFOJVNରԠd ୈճຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձ݄ גࣜձࣾҰٳࡔᠳଠ
ࣗݾհ w ࡔᠳଠʢ͔͔͋͞͠ΐ͏ͨʣ w ॓ധࣄۀຊ෦γεςϜ։ൃ෦ w ॓ധαΠτͷαʔϏε։ൃͬͯ·͢
΅͘ͱ4FMFOJVNίϛϡχςΟ w ୈճຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձ w ॳࢀՃ w ୈճຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձ w ελοϑͱ͓ͯ͠ख͍ w
ୈճຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձʢࠓճʣ w εϐʔΧʔͱͯ͠ࢀՃ w ୈճຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձ w ʁʁʁ
"HFOEB w ҰٳDPNͷ&&ӡ༻ࣄ w αʔϏε։ൃͱڞʹาΉ&& w 4FMFOJVNରԠ w ·ͱΊ
ҰٳDPNͷ&&ӡ༻ࣄ
લఏ w ҰٳDPNϗςϧɾཱྀؗͷ॓ധ༧αΠτͰ͢ w &$αΠτͰ༧͕ग़དྷͳ͍ͷக໋త w ػձଛࣦେ͖͍ w Ͱ༧ΛࢭΊΑ͏ͷͳΒɺɺɺ
֬ೝ͢Δςετʹ͍ͭͯ w ֬ೝ؍ w ਖ਼ৗʹʮ༧ʯʮมߋʯʮऔফʯ͕Ͱ͖Δ͜ͱ w ࢼݧέʔε w έʔεఔʢ༧ͱҰݴͰݴͬͯɺ͍ΖΜͳύλʔϯ͕͋Δʣ w
ࢼݧ࣮ࢪλΠϛϯά w 45ϦϦʔεޙ w ຊ൪ϦϦʔεޙ
΄Ͳલ
˞ϦϦʔεޙɺखಈͰ༧֬ೝΛ͍ͯ͠Δֆ
೦ɻɻɻ
ݱࡏ
4UBHJOHڥ 1SPEVDUJPOڥ
˞ϦϦʔεޙɺ&&Ͱ༧֬ೝΛ͍ͯ͠Δֆ
ݱࡏʹࢸΔ·ͰͷಓͷΓ
എܠɿ࣌ͷ։ൃݱ IUUQTTQFBLFSEFDLDPNLFOTVLFUBOBLBNPEBOOBYJBODIBOHOJTVSVUBNFOJTIJKJBOTJUBLPUP
ϢʔβʔʹՁΛಧ͚Δεϐʔυ্ w ςετͱ͍͏είʔϓͰݴ͑ w खಈ֬ೝ͍ͯ͠Δ࣌ؒΛݮ͍ͨ͠ w ͦͷ࣌ؒΛαʔϏε։ൃʹ͍͍ͨ w ϦϦʔεޙͷ༧֬ೝΛࣗಈԽ͠Α͏ w
4FMFOJVNͬͯ&&ςετಋೖ
1BHF0CKFDU%FTJHO 1BUUFSOͰ࡞Γ·ͨ͠
1BHF0CKFDU%FTJHO1BUUFSO w ΞϓϦέʔγϣϯͷը໘Λ̍ͭͷΦϒδΣΫτͱͯ͠ͱΒ͑ΔσβΠϯύλʔϯ w ίʔυΛେ·͔ʹ̎छྨʹׂ w ϖʔδΫϥεͷεΫϦϓτ w ը໘୯ҐͰ࡞ w
ϘλϯςΩετϑΟʔϧυͳͲͷ)5.-ཁૉΛཧ w ςετέʔεγφϦΦͷεΫϦϓτ w ϖʔδΫϥεͷϝιουΛݺͼग़͢ w )5.-ཁૉΛૢ࡞͠ͳ͍
͍ͯ͠Δͱ͜Ζ
1BHF#BTF$MBTT w ڞ௨ϝιου 4DSFFOTIPU ϒϥβόοΫFUD w ࢼݧέʔεಡΈࠐΈ
ڥຖͷઃఆϑΝΠϧ ςετର63-ಡࠐΉࢼݧέʔε͜͜ʹهड़͢Δ
ฒྻ࣮ߦߏ w ࢠͰ+PCΛ͚ͯɺฒྻͰ࣮ߦ w Ұͭͷࢠ+PCʹςετέʔεͭ w ࣮ߦ࣌ؒ4UBHJOHڥɿɺ1SPEVDUJPOڥɿ 1BSFOU +PC $IJME
+PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC $IJME +PC
ৄ͘͠ɾɾɾ IUUQTTQFBLFSEFDLDPNTIPUBBLBTBLBDZCP[VJLZVFF
ͪΐͬͱ·ͱΊͯΈΔ w &$αΠτͷ༧Ͱ͖ͳ͍ͷக໋త w ͰɺຖճखಈͰ֬ೝ͢Δͷ͠ΜͲ͍ w ͍͟ɺࣗಈԽʂʂʂ w 1BHF0CKFDU%FTJHO1BUUFSOΛͬͯ w
ϝϯςφϯεੑΛߴΊΔͨΊʹ͢Δ w ฒྻ࣮ߦڥΛ࡞ͬͯɺ࣮ߦ࣌ؒ͘͢Δ
αʔϏε։ൃͱڞʹาΉ&&
എܠɿਐΉαʔϏε։ൃ w ̏΄Ͳલ w ҰٳDPNͷ॓ധαΠτҰͭͷେ͖ͳΞϓϦέʔγϣϯͩͬͨ w ΄Ͳલ w ΞϓϦέʔγϣϯׂ͠ϚΠΫϩαʔϏεԽ w
ϩάΠϯपΓͷγεςϜϦϓϨΠεΛ࣮ࢪ
ͦͷ݁Ռɾɾɾ w ϦϦʔεϑϩʔ͕ผʹͳΔ w ͜ΕʹΑͬͯੜͨ͡ w ೝূपΓͰͷো͠͠ɾɾɾ w $4 ΧελϚʔαϙʔτ
͔ΒͷϢʔβʔ͍߹Θͤɾɾɾ w ༧֬ೝ&&Ͱݕͨ͠Τϥʔ͕࣮ϩάΠϯىҼ w ݪҼͷΓ͚ʹ͕͔͔࣌ؒΔ
ղܾࡦɿϩάΠϯपΓͷ&&ಋೖ w ֬ೝ؍͕ҧ͏ w ༧ͱೝূ w ༧ɿʮ༧ɾมߋɾऔফ͕Ͱ͖Δ͜ͱʯ w ೝূɿʮϩάΠϯ͕Ͱ͖Δ͜ͱͰ͖ͳ͍͜ͱʯ w
ςετ࣮ࢪλΠϛϯά w ϩάΠϯػೳϦϦʔεલʢ4513%ʣ
ಋೖোนߴ͘ͳ͔ͬͨ w طଘͷ&&ʹ͔ͬͬͨܗͰ࡞͔ͬͨΒ w ඞཁͳ1BHF$MBTTͱ5FTU$BTFΛ࡞Ε0, w ֬ೝରͷը໘͕গͳ͍ͷॿ͔ͬͨ w ॓ധʙը໘ w
ೝূ ը໘
ಋೖޙͷޮՌ w ϩάΠϯػೳͷোݮ w $4͔Βͷ͍߹Θͤݮ w ༧ͱೝূͷΤϥʔΓ͚ w Ҏલ༧֬ೝ&&Ͱݕͨ͠ΤϥʔͷݪҼ͕ೝূʹ͋ͬͨ w
ͱ͍ͬͨ͜ͱͳ͘ͳΓɺΓ͚͕Ͱ͖ΔΑ͏ʹͳͬͨ
ͪΐͬͱ·ͱΊͯΈΔ w αʔϏε։ൃਐΉ w &&ςετରԠ͍ͯ͘͠ඞཁ͕͋Δ w ์ஔ͓ͯ͘͠ͱϝϯςφϯεෆೳʹͳΓ͔Ͷͳ͍ ʮαʔϏε։ൃͱڞʹาΉʯ
ͪΐͬͱ༨ஊ w વͰ͕͢ɺ4FMFOJVNສೳͰͳ͍ w ʮԿΛ֬ೝ͍͔ͨ͠ʯΛ໌֬ʹ্ͨ͠Ͱɺదͳ πʔϧΛબ͢Δ͖
࣮ࡍʹ͋ͬͨ ʮ.JYFE$POUFOUͷݕΛ4FMFOJVNͰΓ͍ͨʯ ʮ4FMFOJVNҎ֎ͷํ๏͋Δͱࢥ͏Αʯ IUUQTXXXKJUCJUDPNTTMDIFDL
4FMFOJVNରԠ
͢͜ͱ w ࣮ફಋೖ͢Δ্ͰϋϚͬͨϙΠϯτ w XBJUͷѻ͍ w QSPpMFͷઃఆ w ฒྻ࣮ߦ࣌ͷΤϥʔ w
ʹରԠͯ͠Կ͕มΘ͔ͬͨ
͜Ε͚ͩม͑ΕΠέΔʂ w HFDLPESJWFSͷύεઃఆ w 4FMFOJVN8FCESJWFS6QEBUF w 'JSFGPYόʔδϣϯΞοϓ ˞αϯϓϧίʔυɿ3VCZ ESJWFS4FMFOJVN8FC%SJWFSGPS pSFGPY
NBSJPOFUUFUSVF
ͦΜͳΘ͚ͳ͔ͬͨɾɾɾ
นͦͷ̍d8BJUͷѻ͍d w Ҏલ#BTF1BHFʹ*NQMJDJUXBJUࠐΊɺͳ ͔ͬͨ w ESJWFSNBOBHFUJNFPVUTJNQMJDJU@XBJUYY w &YQMJDJUXBJUΛͬͨํ͕҆ఆ͢Δ
นͦͷ̍d8BJUͷѻ͍d w #BTF1BHFʹ&YQMJDJUXBJUΛఆٛ w ֤1BHF$MBTTʹΤϨϝϯτͷΈ͢Α͏ʹ͢Δ w 5FTU$BTF͔Βݺͼग़͢ w ࣗը໘ભҠΟϯυҠಈʁ w
ٽ͘ٽ͘4MFFQ
นͦͷd1SPpMFͷઃఆd w HFDLPESJWFSʹͳͬͯɺQSPpMFͷઃఆํ๏มΘͬͨ #FGPSF QSPpMF4FMFOJVN8FC%SJWFS'JSFGPY1SPpMFOFX QSPpMF<HFOFSBMVTFSBHFOUPWFSSJEF>TPNFVTFSBHFOU ESJWFS4FMFOJVN8FC%SJWFSGPS pSFGPY QSPpMFQSPpMF
"GUFS QSPpMF4FMFOJVN8FC%SJWFS'JSFGPY1SPpMFOFX QSPpMF<HFOFSBMVTFSBHFOUPWFSSJEF>TPNFVTFSBHFOU QSPpMF#BTFFODPEF QSPpMFUP@T DBQBCJMJUJFT4FMFOJVN8FC%SJWFS3FNPUF$BQBCJMJUJFTpSFGPY NBSJPOFUUF USVF pSFGPY@PQUJPOT\[JQ\QSPpMFQSPpMF^^ ESJWFS4FMFOJVN8FC%SJWFSGPS pSFGPY EFTJSFE@DBQBCJMJUJFTDBQBCJMJUJFT
นͦͷd1SPpMFͷઃఆd w HFDLPESJWFSͷ'JSFGPYΦϓγϣϯ͔Βઃఆ w ؔ࿈ w IUUQTHJUIVCDPNNP[JMMBHFDLPESJWFSpSFGPYDBQBCJMJUJFT w IUUQTHJUIVCDPNNP[JMMBHFDLPESJWFSJTTVFT JTTVFDPNNFOU
นͦͷdฒྻ࣮ߦ࣌ͷΤϥʔd w ͋Δ͋Δʁ w ϩʔΧϧͰͷ୯ମ࣮ߦͳ͍͕ɺ$*͔Βͷฒྻ࣮ߦʹͨ͠ॠؒ ʹ͚͜·͘Δ w ࣮ࡍʹ͋ͬͨ w ϩʔΧϧͰಈ͔͢ʹͳ͍
w $*αʔό͔Βͷ୯ମ࣮ߦͳ͍ w +FOLJOT͔Βͷฒྻ࣮ߦͨ͠ࡍʹϒϥβ͢Β্ཱ͕ͪΒͳ͍
นͦͷdฒྻ࣮ߦ࣌ͷΤϥʔd w +FOLJOT͔Βग़ΔΤϥʔϩά w 1SPDFTTMFBLFEpMFEFTDSJQUPST w +FOLJOTͷɾɾɾͰͳ͔ͬͨ w 'JSFGPYͷฒྻ࣮ߦͩͱϒϥβ͢Βىಈ͠ͳ͔ͬͨ w
'JSFGPYʹԼ͛ͯɺฒྻ࣮ߦͨ͠Βɺղܾ ˞HFDLPESJWFS
นͦͷdฒྻ࣮ߦ࣌ͷΤϥʔd w ฒྻ࣮ߦͷ͠͞ w ݪҼ͕Ͳ͜ʹ͋Δͷ͔ɾΓ͚͕͍͠ w +FOLJOTͷΤϥʔʹݟ͑Δ͕ɺ'JSFGPYͷόʔδϣϯ͕Լ͛ͯղܾ w $*4FMFOJVNHFDLPESJWFSϒϥβFUDશͯΛٙΘͳ͍ͱ͍͚ ͳ͍
͓·͚d4FMFOJVN͕ىಈ͠ͳ͍d w MPDBMIPTU͕ۭ͍͍ͯΔ͔֬ೝ w 'JSFGPYىಈ࣌ʹ%&'"6-5@1035Λࢦఆ IUUQXXXSVCZEPDJOGPHFNTTFMFOJVNXFCESJWFS4FMFOJVN8FC%SJWFS'JSFGPY4FSWJDF
ʹ্͛ͯมΘͬͨ͜ͱ
ಛʹେ͖ͳมԽͳ͍ w ͍͘͢͝ͳͬͨΘ͚Ͱͳ͍ w ҆ఆੑؾ࣋ͪগ্͕ͬͨ͠ʁ w ݩʑɺͱ҆ఆੑͦΕͳΓʹอূ͞Ε͍ͯΔ w ͍ͤͨ͘͞ͳΒɺฒྻ্͛ͨํ͕࣮֬
Ͱɾɾɾ w Ͳ͔͜ͷλΠϛϯάͰόʔδϣϯΞοϓରԠඞཁ w ܥͷ··ӡ༻Λଓ͚ɺ์ஔ͠ɺϝϯςφϯεෆೳɾɾ ͳΜ͍ͯ͏ࣄଶى͜Δ͔͠Εͳ͍ w ࠓΔ͖͔ͱฉ͔ΕͨΒɺɺɺ w ผʹࠓΒͳ͍͍ͯ͘ͱࢥ͏
ͪΐͬͱ·ͱΊͯΈΔ w 4FMFOJVNରԠɾɾɾ w ࠓΒͳͯ͘Α͔ͬͨʢҰٳͷ߹ʣ w ରԠͨ݁͠ՌͷϝϦοτ͕ݟग़ͤͳ͍ w ϋϚͬͨϙΠϯτΛ͍͔ͭ͘հ͠·ͨ͠ w
8BJUͷѻ͍ w 1SPpMFͷઃఆ w ฒྻ࣮ߦͷΤϥʔશͯΛٙͬͨ΄͏͕͍͍
·ͱΊɿҰٳDPNͷ&&ςετࣄ w ༧ϩάΠϯͷ֬ೝ͕ϝΠϯ w ϢʔβʔʹՁΛಧ͚ΔͨΊ w αʔϏεͷࠜװͱͳΔػೳΛ֬ೝ͢Δ w ਐΉαʔϏε։ൃͱڞʹาΉ w
ΩϟονΞοϓ͠ͳ͍ͱ͍ͣΕɺϝϯςφϯεෆೳͳΜͯ͜ͱʹɾɾɾ w 4FMFOJVNରԠͷϝϦοτͦ͜·Ͱײ͡ͳ͔ͬͨ w ͰɺͲ͔͜ͰରԠ͢Δඞཁ͋Δ͔ɾɾɾ
࠷ޙʹɿ&&ςετܧଓӡ༻ͷϙΠϯτ w ҆ఆੑ w ΦΦΧϛগʹ͠ͳ͍͜ͱ ϦτϥΠॲཧೖΕΔͳΓ͢Δ w ٕज़తΩϟονΞοϓ όʔδϣϯΞοϓʁ
w ϝϯςφϯεੑ w 1BHF0CKFDU%FTJHO1BUUFSOͦ͏͕ͩɺίʔυΛॻ্͘Ͱͷجຊతͳ෦ҙ w ςετίʔυमਖ਼ํ๏ͳͲͷใڞ༗͢Δ w w ฒྻ࣮ߦ͕؊ ݁ہɺ͜ͷ̏ͭ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠