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
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
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
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
10
1.8k
人には人それぞれのサービス層がある
shimabox
3
670
WindowInsetsだってテストしたい
ryunen344
1
110
Java on Azure で LangGraph!
kohei3110
0
110
Perplexity Slack Botを作ってAI活用を進めた話 / AI Engineering Summit プレイベント
n3xem
0
640
SODA - FACT BOOK
sodainc
1
840
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
170
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
120
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
450
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
110
Bytecode Manipulation 으로 생산성 높이기
bigstark
1
290
TypeScript LSP の今までとこれから
quramy
1
500
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Producing Creativity
orderedlist
PRO
346
40k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
The Pragmatic Product Professional
lauravandoore
35
6.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Code Reviewing Like a Champion
maltzj
524
40k
Designing Experiences People Love
moore
142
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Embracing the Ebb and Flow
colly
86
4.7k
Become a Pro
speakerdeck
PRO
28
5.4k
The Cost Of JavaScript in 2023
addyosmani
50
8.3k
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 ฒྻ࣮ߦ͕؊ ݁ہɺ͜ͷ̏ͭ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠