Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
27k
一休.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
15k
ブランチデプロイ環境で エンジニアが安心できる開発現場へ/branch-deploy-environment-for-engineers
shotaakasaka
2
1.5k
TensorFlowで競馬予想/developmentcamp20170212-yuigahama
shotaakasaka
0
2.3k
OSSコミッタになりたくて 〜古典部開発合宿 @ 京都〜/developmentcamp-kyoto
shotaakasaka
1
2.9k
一休.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
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
500
NUMA環境とコンテナランタイム ― youki における Linux Memory Policy 実装
n4mlz
1
110
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
220
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.2k
20 years of Symfony, what's next?
fabpot
2
310
認証・認可の基本を学ぼう前編
kouyuume
0
160
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
300
Integrating WordPress and Symfony
alexandresalome
0
130
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
270
WebRTC と Rust と8K 60fps
tnoho
2
1.9k
CSC305 Lecture 15
javiergs
PRO
0
250
「文字列→日付」の落とし穴 〜Ruby Date.parseの意外な挙動〜
sg4k0
0
360
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Site-Speed That Sticks
csswizardry
13
990
Fireside Chat
paigeccino
41
3.7k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Rails Girls Zürich Keynote
gr2m
95
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.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 ฒྻ࣮ߦ͕؊ ݁ہɺ͜ͷ̏ͭ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠