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.7k
一休.comのE2Eテスト事情 ~ギリギリ話せるところまで話します~ /cybozu_ikyu_e2e
shotaakasaka
25
16k
20151027_第1回 #Java騎士団 円卓会議
shotaakasaka
0
2.3k
20151020_Selenium勉強会@サイボウズ
shotaakasaka
12
9.8k
Other Decks in Programming
See All in Programming
現場から考えるソフトウェアエンジニアリングの価値と実験
nomuson
1
100
4年間変わらなかった YOUTRUSTのアーキテクチャ
daiki1003
1
540
Cohesion in Modeling and Design
mploed
3
200
dbt-ga4パッケージを実業務に導入してみた話
t_tokumaru_feedcorp
0
120
Pydantic x Database API:turu-pyの開発
yassun7010
1
560
推しの夫に恋のGPS「ときメーター」#M5Stack #IoT #M5JPTour2024
riyu
0
230
2024-10-02 dev2next - Application Observability like you've never heard before
jonatan_ivanov
0
170
Introduce dRuby
ledsun
0
100
2024-10-01 dev2next - Observability for Modern JVM Applications
jonatan_ivanov
0
110
学生の時に開催したPerl入学式をきっかけにエンジニアが組織に馴染むために勉強会を主催や仲間と参加して職能間の境界を越えていく
ohmori_yusuke
1
130
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
6
680
pytest プラグインを開発して DRY に自動テストを書こう
inuatsu
2
260
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.7k
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Building Better People: How to give real-time feedback that sticks.
wjessup
362
19k
Into the Great Unknown - MozCon
thekraken
31
1.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
23k
Practical Orchestrator
shlominoach
186
10k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
KATA
mclloyd
27
13k
How to name files
jennybc
77
99k
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 ฒྻ࣮ߦ͕؊ ݁ہɺ͜ͷ̏ͭ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠