$30 off During Our Annual Pro Sale. View Details »

一休.comのE2Eテスト事情 ~Selenium 3.0 対応~ /seleniumjp4_ikyu

一休.comのE2Eテスト事情 ~Selenium 3.0 対応~ /seleniumjp4_ikyu

2016年12月18日の第4回 日本Seleniumユーザーコミュニティ勉強会の発表資料です。
https://seleniumjp.connpass.com/event/45208/

shota akasaka

December 18, 2016
Tweet

More Decks by shota akasaka

Other Decks in Programming

Transcript

  1. ҰٳDPNͷ&&ςετࣄ৘
    d4FMFOJVNରԠd
    ୈճ೔ຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձ೥݄೔
    גࣜձࣾҰٳ੺ࡔᠳଠ

    View Slide

  2. ࣗݾ঺հ
    w ੺ࡔᠳଠʢ͔͔͋͞͠ΐ͏ͨʣ
    w ॓ധࣄۀຊ෦γεςϜ։ൃ෦
    w ॓ധαΠτͷαʔϏε։ൃ΍ͬͯ·͢

    View Slide

  3. ΅͘ͱ4FMFOJVNίϛϡχςΟ
    w ୈճ೔ຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձ
    w ॳࢀՃ
    w ୈճ೔ຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձ
    w ελοϑͱ͓ͯ͠ख఻͍
    w ୈճ೔ຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձʢࠓճʣ
    w εϐʔΧʔͱͯ͠ࢀՃ
    w ୈճ೔ຊ4FMFOJVNϢʔβʔίϛϡχςΟษڧձ
    w ʁʁʁ

    View Slide

  4. "HFOEB
    w ҰٳDPNͷ&&ӡ༻ࣄ৘
    w αʔϏε։ൃͱڞʹาΉ&&
    w 4FMFOJVNରԠ
    w ·ͱΊ

    View Slide

  5. ҰٳDPNͷ&&ӡ༻ࣄ৘

    View Slide

  6. લఏ
    w ҰٳDPN͸ϗςϧɾཱྀؗͷ॓ധ༧໿αΠτͰ͢
    w &$αΠτͰ༧໿͕ग़དྷͳ͍ͷ͸க໋త
    w ػձଛࣦେ͖͍
    w ෼Ͱ΋༧໿ΛࢭΊΑ͏΋ͷͳΒɺɺɺ

    View Slide

  7. ֬ೝ͢Δςετʹ͍ͭͯ
    w ֬ೝ؍఺
    w ਖ਼ৗʹʮ༧໿ʯʮมߋʯʮऔফʯ͕Ͱ͖Δ͜ͱ
    w ࢼݧέʔε
    w έʔεఔ౓ʢ༧໿ͱҰݴͰݴͬͯ΋ɺ͍ΖΜͳύλʔϯ͕͋Δʣ
    w ࢼݧ࣮ࢪλΠϛϯά
    w 45ϦϦʔεޙ
    w ຊ൪ϦϦʔεޙ

    View Slide

  8. ೥΄Ͳલ

    View Slide

  9. ˞ϦϦʔεޙɺखಈͰ༧໿֬ೝΛ͍ͯ͠Δֆ

    View Slide

  10. ࢒೦ɻɻɻ

    View Slide

  11. ݱࡏ

    View Slide

  12. 4UBHJOH؀ڥ
    1SPEVDUJPO؀ڥ

    View Slide

  13. ˞ϦϦʔεޙɺ&&Ͱ༧໿֬ೝΛ͍ͯ͠Δֆ

    View Slide

  14. ݱࡏʹࢸΔ·ͰͷಓͷΓ

    View Slide

  15. എܠɿ౰࣌ͷ։ൃݱ৔
    IUUQTTQFBLFSEFDLDPNLFOTVLFUBOBLBNPEBOOBYJBODIBOHOJTVSVUBNFOJTIJKJBOTJUBLPUP

    View Slide

  16. ϢʔβʔʹՁ஋Λಧ͚Δεϐʔυ޲্΁
    w ςετͱ͍͏είʔϓͰݴ͑͹
    w खಈ֬ೝ͍ͯ͠Δ࣌ؒΛ࡟ݮ͍ͨ͠
    w ͦͷ࣌ؒΛαʔϏε։ൃʹ࢖͍͍ͨ
    w ϦϦʔεޙͷ༧໿֬ೝΛࣗಈԽ͠Α͏
    w 4FMFOJVN࢖ͬͯ&&ςετಋೖ΁

    View Slide

  17. 1BHF0CKFDU%FTJHO
    1BUUFSOͰ࡞Γ·ͨ͠

    View Slide

  18. 1BHF0CKFDU%FTJHO1BUUFSO
    w ΞϓϦέʔγϣϯͷը໘Λ̍ͭͷΦϒδΣΫτͱͯ͠ͱΒ͑ΔσβΠϯύλʔϯ
    w ίʔυΛେ·͔ʹ̎छྨʹ෼ׂ
    w ϖʔδΫϥεͷεΫϦϓτ
    w ը໘୯ҐͰ࡞੒
    w Ϙλϯ΍ςΩετϑΟʔϧυͳͲͷ)5.-ཁૉΛ؅ཧ
    w ςετέʔεγφϦΦͷεΫϦϓτ
    w ϖʔδΫϥεͷϝιουΛݺͼग़͢
    w ௚઀)5.-ཁૉΛૢ࡞͠ͳ͍

    View Slide

  19. ޻෉͍ͯ͠Δͱ͜Ζ

    View Slide

  20. 1BHF#BTF$MBTT
    w ڞ௨ϝιου 4DSFFOTIPU ϒϥ΢βόοΫFUD

    w ࢼݧέʔεಡΈࠐΈ

    View Slide

  21. ؀ڥຖͷઃఆϑΝΠϧ
    ςετର৅63-΍ಡࠐΉࢼݧέʔε͸͜͜ʹهड़͢Δ

    View Slide

  22. ฒྻ࣮ߦߏ੒
    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

    View Slide

  23. ৄ͘͠͸ɾɾɾ
    IUUQTTQFBLFSEFDLDPNTIPUBBLBTBLBDZCP[VJLZVFF

    View Slide

  24. ͪΐͬͱ·ͱΊͯΈΔ
    w &$αΠτͷ༧໿Ͱ͖ͳ͍ͷ͸க໋త
    w Ͱ΋ɺຖճखಈͰ֬ೝ͢Δͷ͸͠ΜͲ͍
    w ͍͟ɺࣗಈԽ΁ʂʂʂ
    w 1BHF0CKFDU%FTJHO1BUUFSOΛ࢖ͬͯ
    w ϝϯςφϯεੑΛߴΊΔͨΊʹ޻෉΋͢Δ
    w ฒྻ࣮ߦ؀ڥΛ࡞ͬͯɺ࣮ߦ࣌ؒ΋୹͘͢Δ

    View Slide

  25. αʔϏε։ൃͱڞʹาΉ&&

    View Slide

  26. എܠɿਐΉαʔϏε։ൃ
    w ̏೥΄Ͳલ
    w ҰٳDPNͷ॓ധαΠτ͸Ұͭͷେ͖ͳΞϓϦέʔγϣϯͩͬͨ
    w ೥΄Ͳલ
    w ΞϓϦέʔγϣϯ෼ׂ͠ϚΠΫϩαʔϏεԽ΁
    w ϩάΠϯपΓͷγεςϜϦϓϨΠεΛ࣮ࢪ

    View Slide

  27. ͦͷ݁Ռɾɾɾ
    w ϦϦʔεϑϩʔ͕ผʹͳΔ
    w ͜ΕʹΑͬͯੜͨ͡໰୊
    w ೝূपΓͰͷো֐΋͠͹͠͹ɾɾɾ
    w $4 ΧελϚʔαϙʔτ
    ͔ΒͷϢʔβʔ໰͍߹Θͤ΋ɾɾɾ
    w ༧໿֬ೝ&&Ͱݕ஌ͨ͠Τϥʔ͕࣮͸ϩάΠϯىҼ
    w ݪҼͷ੾Γ෼͚ʹ͕͔͔࣌ؒΔ

    View Slide

  28. ղܾࡦɿϩάΠϯपΓͷ&&ಋೖ
    w ֬ೝ؍఺͕ҧ͏
    w ༧໿ͱೝূ
    w ༧໿ɿʮ༧໿ɾมߋɾऔফ͕Ͱ͖Δ͜ͱʯ
    w ೝূɿʮϩάΠϯ͕Ͱ͖Δ͜ͱͰ͖ͳ͍͜ͱʯ
    w ςετ࣮ࢪλΠϛϯά
    w ϩάΠϯػೳϦϦʔεલʢ4513%ʣ

    View Slide

  29. ಋೖোน͸ߴ͘ͳ͔ͬͨ
    w طଘͷ&&ʹ৐͔ͬͬͨܗͰ࡞͔ͬͨΒ
    w ඞཁͳ1BHF$MBTTͱ5FTU$BTFΛ࡞Ε͹0,
    w ֬ೝର৅ͷը໘͕গͳ͍ͷ΋ॿ͔ͬͨ
    w ॓ധʙը໘
    w ೝূ ը໘

    View Slide

  30. ಋೖޙͷޮՌ
    w ϩάΠϯػೳͷো֐ݮ
    w $4͔Βͷ໰͍߹Θͤݮ
    w ༧໿ͱೝূͷΤϥʔ੾Γ෼͚
    w Ҏલ͸༧໿֬ೝ&&Ͱݕ஌ͨ͠ΤϥʔͷݪҼ͕ೝূʹ͋ͬͨ
    w ͱ͍ͬͨ͜ͱ͸ͳ͘ͳΓɺ੾Γ෼͚͕Ͱ͖ΔΑ͏ʹͳͬͨ

    View Slide

  31. ͪΐͬͱ·ͱΊͯΈΔ
    w αʔϏε։ൃ͸ਐΉ
    w &&ςετ΋ରԠ͍ͯ͘͠ඞཁ͕͋Δ
    w ์ஔ͓ͯ͘͠ͱϝϯςφϯεෆೳʹͳΓ͔Ͷͳ͍
    ʮαʔϏε։ൃͱڞʹาΉʯ

    View Slide

  32. ͪΐͬͱ༨ஊ
    w ౰વͰ͕͢ɺ4FMFOJVN͸ສೳͰ͸ͳ͍
    w ʮԿΛ֬ೝ͍͔ͨ͠ʯΛ໌֬ʹ্ͨ͠Ͱɺద੾ͳ
    πʔϧΛબ୒͢Δ΂͖

    View Slide

  33. ࣮ࡍʹ͋ͬͨ࿩
    ʮ.JYFE$POUFOUͷݕ஌Λ4FMFOJVNͰ΍Γ͍ͨʯ
    ʮ4FMFOJVNҎ֎ͷํ๏͋Δͱࢥ͏Αʯ
    IUUQTXXXKJUCJUDPNTTMDIFDL

    View Slide

  34. 4FMFOJVNରԠ

    View Slide

  35. ࿩͢͜ͱ
    w ࣮ફಋೖ͢Δ্ͰϋϚͬͨϙΠϯτ
    w XBJUͷѻ͍
    w QSPpMFͷઃఆ
    w ฒྻ࣮ߦ࣌ͷΤϥʔ
    w ʹରԠͯ͠Կ͕มΘ͔ͬͨ

    View Slide

  36. ͜Ε͚ͩม͑Ε͹ΠέΔʂ
    w HFDLPESJWFSͷύεઃఆ
    w 4FMFOJVN8FCESJWFS6QEBUF
    w 'JSFGPYόʔδϣϯΞοϓ
    ˞αϯϓϧίʔυɿ3VCZ
    ESJWFS4FMFOJVN8FC%SJWFSGPS pSFGPY NBSJPOFUUFUSVF

    View Slide

  37. ͦΜͳΘ͚ͳ͔ͬͨɾɾɾ

    View Slide

  38. นͦͷ̍d8BJUͷѻ͍d
    w Ҏલ͸#BTF1BHFʹ*NQMJDJUXBJU࢓ࠐΊ͹ɺ໰୊ͳ
    ͔ͬͨ
    w ESJWFSNBOBHFUJNFPVUTJNQMJDJU@XBJUYY
    w &YQMJDJUXBJUΛ࢖ͬͨํ͕҆ఆ͢Δ

    View Slide

  39. นͦͷ̍d8BJUͷѻ͍d
    w #BTF1BHFʹ&YQMJDJUXBJUΛఆٛ
    w ֤1BHF$MBTTʹΤϨϝϯτͷΈ౉͢Α͏ʹ͢Δ
    w 5FTU$BTF͔Βݺͼग़͢
    w ࣗը໘ભҠ΍΢Οϯυ΢Ҡಈ͸ʁ
    w ٽ͘ٽ͘4MFFQ

    View Slide

  40. นͦͷ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

    View Slide

  41. นͦͷd1SPpMFͷઃఆd
    w HFDLPESJWFSͷ'JSFGPYΦϓγϣϯ͔Βઃఆ
    w ؔ࿈
    w IUUQTHJUIVCDPNNP[JMMBHFDLPESJWFSpSFGPYDBQBCJMJUJFT
    w IUUQTHJUIVCDPNNP[JMMBHFDLPESJWFSJTTVFT
    JTTVFDPNNFOU

    View Slide

  42. นͦͷdฒྻ࣮ߦ࣌ͷΤϥʔd
    w ͋Δ͋Δʁ
    w ϩʔΧϧͰͷ୯ମ࣮ߦ͸໰୊ͳ͍͕ɺ$*͔Βͷฒྻ࣮ߦʹͨ͠ॠؒ
    ʹ͚͜·͘Δ
    w ࣮ࡍʹ͋ͬͨ࿩
    w ϩʔΧϧͰಈ͔͢෼ʹ͸໰୊ͳ͍
    w $*αʔό͔Βͷ୯ମ࣮ߦ΋໰୊ͳ͍
    w +FOLJOT͔Βͷฒྻ࣮ߦͨ͠ࡍʹϒϥ΢β͢Β্ཱ͕ͪΒͳ͍

    View Slide

  43. นͦͷdฒྻ࣮ߦ࣌ͷΤϥʔd
    w +FOLJOT͔Βग़ΔΤϥʔϩά
    w 1SPDFTTMFBLFEpMFEFTDSJQUPST
    w +FOLJOTͷ໰୊ɾɾɾͰ͸ͳ͔ͬͨ
    w 'JSFGPYͷฒྻ࣮ߦͩͱϒϥ΢β͢Βىಈ͠ͳ͔ͬͨ
    w 'JSFGPYʹԼ͛ͯɺฒྻ࣮ߦͨ͠Βɺղܾ
    ˞HFDLPESJWFS

    View Slide

  44. นͦͷdฒྻ࣮ߦ࣌ͷΤϥʔd
    w ฒྻ࣮ߦͷ೉͠͞
    w ݪҼ͕Ͳ͜ʹ͋Δͷ͔ɾ੾Γ෼͚͕೉͍͠
    w +FOLJOTͷΤϥʔʹݟ͑Δ͕ɺ'JSFGPYͷόʔδϣϯ͕Լ͛ͯղܾ
    w $*4FMFOJVNHFDLPESJWFSϒϥ΢βFUDશͯΛٙΘͳ͍ͱ͍͚
    ͳ͍

    View Slide

  45. ͓·͚d4FMFOJVN͕ىಈ͠ͳ͍d
    w MPDBMIPTU͕ۭ͍͍ͯΔ͔֬ೝ
    w 'JSFGPYىಈ࣌ʹ%&'"6-5@1035Λࢦఆ
    IUUQXXXSVCZEPDJOGPHFNTTFMFOJVNXFCESJWFS4FMFOJVN8FC%SJWFS'JSFGPY4FSWJDF

    View Slide

  46. ʹ্͛ͯมΘͬͨ͜ͱ

    View Slide

  47. ಛʹେ͖ͳมԽ͸ͳ͍
    w ͍͢͝଎͘ͳͬͨΘ͚Ͱ͸ͳ͍
    w ҆ఆੑ͸ؾ࣋ͪগ্͕ͬͨ͠ʁ
    w ݩʑɺ଎౓ͱ҆ఆੑ͸ͦΕͳΓʹอূ͞Ε͍ͯΔ
    w ଎͍ͤͨ͘͞ͳΒɺฒྻ౓্͛ͨํ͕࣮֬

    View Slide

  48. Ͱ΋ɾɾɾ
    w Ͳ͔͜ͷλΠϛϯάͰόʔδϣϯΞοϓରԠ͸ඞཁ
    w ܥͷ··ӡ༻Λଓ͚ɺ์ஔ͠ɺϝϯςφϯεෆೳɾɾ
    ͳΜ͍ͯ͏ࣄଶ͸ى͜Δ͔΋͠Εͳ͍
    w ࠓ΍Δ΂͖͔ͱฉ͔ΕͨΒɺɺɺ
    w ผʹࠓ΍Βͳͯ͘΋͍͍ͱࢥ͏

    View Slide

  49. ͪΐͬͱ·ͱΊͯΈΔ
    w 4FMFOJVNରԠ͸ɾɾɾ
    w ࠓ΍Βͳͯ͘΋Α͔ͬͨʢҰٳͷ৔߹ʣ
    w ରԠͨ݁͠ՌͷϝϦοτ͕ݟग़ͤͳ͍
    w ϋϚͬͨϙΠϯτΛ͍͔ͭ͘঺հ͠·ͨ͠
    w 8BJUͷѻ͍
    w 1SPpMFͷઃఆ
    w ฒྻ࣮ߦͷΤϥʔ͸શͯΛٙͬͨ΄͏͕͍͍

    View Slide

  50. ·ͱΊɿҰٳDPNͷ&&ςετࣄ৘
    w ༧໿ϩάΠϯͷ֬ೝ͕ϝΠϯ
    w ϢʔβʔʹՁ஋Λಧ͚ΔͨΊ
    w αʔϏεͷࠜװͱͳΔػೳΛ֬ೝ͢Δ
    w ਐΉαʔϏε։ൃͱڞʹาΉ
    w ΩϟονΞοϓ͠ͳ͍ͱ͍ͣΕɺϝϯςφϯεෆೳͳΜͯ͜ͱʹɾɾɾ
    w 4FMFOJVNରԠͷϝϦοτ͸ͦ͜·Ͱײ͡ͳ͔ͬͨ
    w Ͱ΋ɺͲ͔͜ͰରԠ͢Δඞཁ͸͋Δ͔΋ɾɾɾ

    View Slide

  51. ࠷ޙʹɿ&&ςετܧଓӡ༻ͷϙΠϯτ
    w ҆ఆੑ
    w ΦΦΧϛগ೥ʹ͠ͳ͍͜ͱ ϦτϥΠॲཧೖΕΔͳΓ͢Δ

    w ٕज़తΩϟονΞοϓ όʔδϣϯΞοϓʁ

    w ϝϯςφϯεੑ
    w 1BHF0CKFDU%FTJHO1BUUFSO΋ͦ͏͕ͩɺίʔυΛॻ্͘Ͱͷجຊతͳ෦෼΋஫ҙ
    w ςετίʔυमਖ਼ํ๏ͳͲͷ৘ใڞ༗΋͢Δ
    w ଎౓
    w ฒྻ࣮ߦ͕؊
    ݁ہɺ͜ͷ̏ͭ

    View Slide

  52. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide