Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android Testing Bootcamp #2: OpenSTF

Android Testing Bootcamp #2: OpenSTF

OpenSTFを紹介します

Gunther Brunner

June 09, 2016
Tweet

More Decks by Gunther Brunner

Other Decks in Programming

Transcript

  1. Gunther Brunnerʢάϯλɾϒϧϯφʔʣ
    @gunta85

    View Slide

  2. εϚʔτϑΥϯɾςετɾϑΝʔϜ

    View Slide

  3. ࣮ػϦϞʔτૢ࡞ ϒϥ΢β͔ΒϥΫϥΫૢ࡞

    View Slide

  4. ࣮ػϦϞʔτૢ࡞ ϒϥ΢β͔ΒϥΫϥΫૢ࡞

    View Slide

  5. ػೳ

    View Slide

  6. URLϒϥ΢δϯά
    • Ͳͷϒϥ΢βͰ΋URLΛ

    ೖྗ͠ͳ͕ΒαΠτ֬ೝ

    • Πϯετʔϧ͞Ε͍ͯΔϒϥ΢
    βҰͷϦετϦΞϧλΠϜऔಘ

    View Slide

  7. Ωϟϓνϟ
    • ੩ࢭըͷΩϟϓνϟ

    • ϦΞϧλΠϜϦαΠζ

    • ΩϟϓνϟͷURLγΣΞ

    View Slide

  8. ΞϓϦΞοϓϩʔυ
    • APKϑΝΠϧΛ؆୯ʹ

    υϥοάˍυϩοϓ

    • ଈ࣌ΞοϓϩʔυˍΠϯετʔϧ

    • ىಈ͍ͨ͠ΞΫςΟϏςΟͷબ୒

    View Slide

  9. ίϐʔˍϖʔετ
    • ࣮ػ㲗ύιίϯͷ

    ίϐʔˍϖʔετ

    • ϚϧνݴޠରԠ

    View Slide

  10. ΞϓϦγϣʔτΧοτ
    • Α͘࢖ΘΕ͍ͯΔ

    γϣʔτΧοτ

    View Slide

  11. ϦϞʔτσόοά
    • ࣗ෼ͷύιίϯʹܨ͕͍ͬͯΔ͔
    ͷΑ͏ʹϦϞʔτσόοά͕Մೳ

    • Android StudioɺEclipseରԠ

    • Chrome DevTools΍Firefoxɺ

    ADBͱ઀ଓՄೳͳ΋ͷ͸શͯରԠ

    View Slide

  12. ࣮ػࣸਅ
    • ࣮ػͷ࣮෺ࣸਅͷ֬ೝ

    View Slide

  13. ϚφʔϞʔυ
    • ϚφʔϞʔυઃఆͷมߋ

    View Slide

  14. ετΞϩάΠϯࣗಈԽ
    • άʔάϧϓϨΠ౳ʹϩάΠϯ 

    <։ൃதػೳ>

    View Slide

  15. ϦΞϧλΠϜϩά
    • Logcatͷϩάදࣔ

    • ϦΞϧλΠϜϑΟϧλϦϯά

    View Slide

  16. ୺຤ݕࡧ
    • ϝʔΧʔɺOSόʔδϣϯɺ

    ൃച೔ͳͲͷ࣮ػݕࡧ͕Մೳ

    View Slide

  17. ߴ౓ͳೖྗ
    • ϋʔυΩʔͷԕִૢ࡞

    • ిݯϘλϯɺԻྔɺ

    ϝσΟΞΩʔɺD-PadΩʔ౳

    View Slide

  18. ϋʔυ΢ΣΞৄࡉ
    • ϋʔυ΢ΣΞͷεϖοΫৄࡉ

    • όοςϦʔ݈߁ঢ়ଶɺԹ౓ɺి
    ѹɺΩϟϦΞɺి࿩൪߸ɺσΟε
    ϓϨΠɺωοτϫʔΫɺOSৄࡉ

    View Slide

  19. ࣮ػ࠶ىಈ
    • ϦϞʔτ࠶ىಈ

    View Slide

  20. Ϧόʔεϙʔτ
    ϑΥϫʔσΟϯά
    • ϩʔΧϧαʔόʔͷαΠτ֬ೝ

    View Slide

  21. ϚϧνݴޠରԠUI
    • ೔ຊޠ

    • ӳޠ

    • ϑϥϯεޠ

    • εϖΠϯޠ

    • ϙʔϥϯυޠ

    • தࠃޠ

    • ؖࠃޠ

    • ϩγΞޠ

    View Slide

  22. ϚϧνσόΠεૢ࡞

    View Slide

  23. εϚϗ͔ΒͰ΋
    ԕִૢ࡞
    • AndroidΛผͷεϚϗ͔Βૢ࡞

    • ϚϧνλονରԠ

    View Slide

  24. 100% Apache 2.0 ϥΠηϯε
    https://openstf.io

    View Slide

  25. ಋೖࣄྫ
    ίϛοτߩݙ

    View Slide

  26. ಋೖࣄྫ
    ΦϯϓϨϛεͰ΋ಈͨ͘Ί
    ڞ࢈ओٛࠃՈͰ͸ಛʹਓؾ

    View Slide

  27. ΦϯϓϨϛε൛ͷ૊ཱ
    • USBϋϒΛߪೖ
    • ख࣋ͪͷAndroid࣮ػΛܨ͙

    View Slide

  28. αʔόʔ૊Έཱͯ
    Android 28୆ରԠ
    PCαʔόʔ 1୆
    USBϋϒ 4୆
    USBέʔϒϧ 28ຊ

    View Slide

  29. RaspberryͷΑ͏ͳখܕPC
    Android 3୆ରԠ
    খܕPC 1୆
    USBϋϒ ແ͠
    USBέʔϒϧ 3ຊ

    View Slide

  30. STF σόΠεϥοΫ

    View Slide

  31. • Android 2.3.3 ~ 6.0.1
    • Android N Preview 3
    • Android Wear ~5.1
    • FireOSɺMIUIɺCyanogenMod౳
    • ୺຤ROOT͸ෆཁ
    ରԠOSʢ࣮ػʣ

    View Slide

  32. ରԠϒϥ΢βʢΫϥΠΞϯτʣ
    • Google Chrome (σεΫτοϓ൛ɾϞόΠϧ൛)
    • Safari (σεΫτοϓ൛ɾϞόΠϧ൛)
    • Mozilla Firefox
    • Internet Explorer
    • Opera

    View Slide

  33. ରԠOSʢαʔόʔʣ
    • CoreOSʢਪ঑ʣ
    • BSDɺLinux
    • Mac OS X

    View Slide

  34. STFͷΠϯετʔϧ
    Ϣʔβ͸Πϯετʔϧෆཁ

    View Slide

  35. ϩʔΧϧͰΠϯετʔϧ (Mac OS X)
    • ADBΛΠϯετʔϧ
    • ґଘؔ܎ΛΠϯετʔϧ
    • STFΛΠϯετʔϧ
    brew install node rethinkdb graphicsmagick zeromq protobuf
    npm install -g stf
    Android SDK Tools / Android Studioʹؚ·Ε͍ͯΔ

    View Slide

  36. ϩʔΧϧͰ࣮ߦ
    • σʔλϕʔεΛ࣮ߦ
    • STFΛ࣮ߦ
    stf local
    rethinkdb

    View Slide

  37. LANͰ࣮ߦ (؆қ൛)
    • σʔλϕʔεΛ࣮ߦ
    • STFΛ࣮ߦ
    • ྫɿPCͷIP͸192.168.0.1ͷ৔߹ɺ

    ଞͷPC͸http://192.168.0.1:7100 ͔ΒΞΫηεՄೳ
    stf local —-public-ip 192.168.0.1
    rethinkdb

    View Slide

  38. STF V2 ۙ೔ϦϦʔε
    • STFͷ৽ػೳɹϒϥϯν2.0.0
    • ࣗಈςετͰͷར༻ɿREST APIΛ௥Ճ
    • ୺຤ͷεςʔλεʢར༻தɾΦϑϥΠϯʣ͕औಘɾมߋՄೳ
    • ୺຤ͷ৘ใʢOSɾϞσϧʣ͕औಘՄೳ

    View Slide

  39. STF V2 ۙ೔ϦϦʔε

    View Slide

  40. STF V2 ۙ೔ϦϦʔε

    View Slide

  41. ࣗಈԽ
    • جຊతʹ͸OpenSTF + Jenkins + Appium + Docker
    • JUnit4ɺRoboelectricɺEspressoɺUI Automatorɺ
    RobotiumɺeggPlant΋OK

    View Slide

  42. ଞͷπʔϧΑΓ༏Ε͍ͯΔϙΠϯτ
    • ࢖͍΍͍͢UI / UX
    • ը໘సૹ͕ૣ͍ʢ30fpsʙ60fpsʣ
    • Ϩεϙϯεૢ࡞͕ૣ͍
    • ศརͳػೳ͕ͨ͘͞Μ౥ࡌ͞Ε͍ͯΔ
    • Φʔϓϯιʔεɾແঈ
    • ϓϥΠϕʔτΫϥ΢υɾΦϯϓϨϛεͰ΋ར༻Մೳ

    View Slide

  43. ଞͷπʔϧΑΓ༏Ε͍ͯΔϙΠϯτ
    • ׬શΦʔϓϯιʔε
    • ৴པੑɿ੬ऑੑ΍όάͷमਖ਼͸୭Ͱ΋֬ೝ͕Ͱ͖ɺ͍ͪૣ͘मਖ਼͕Մೳɻ
    • ҆ఆੑɿ੡଄ݩͷ౎߹ʢ౗࢈ɺଧͪ੾Γ౳ʣʹΑΔফ໓͕ଘࡏ͠ͳ͍ɻ

    ϝϯςφϯεͷܧଓ͕Մೳɻ௕ظతͷ҆ఆͯ͠ར༻ɻ
    • ؂ࢹೳྗɿୈࡾऀػؔʹ؂ࠪΛґཔ͢Δࣄ͕Մೳɻ
    • ॊೈੑͱࣗ༝ɿطଘγεςϜͱͷ࿈ܞ΍৽͍͠ػೳͷ௥ՃͳͲɺ

    ॾʑมԽ͢Δࣄ৘ʹରͯ͠ॊೈରԠɻ
    • ίετɿແঈɻγεςϜಋೖ΍ϥΠηϯεͷ૯߹తͳίετ࡟ݮɻ
    • αϙʔτɿGitHub Issuesͱϝʔϧʹͯɻ

    View Slide

  44. αϙʔτʢ೔ຊޠɾӳޠʣ
    • GitHub Issues

    https://github.com/openstf/stf/issues
    ίϛϡχςΟαϙʔτ
    ๏ਓ޲͚αϙʔτ
    • ϝʔϧ

    [email protected]

    View Slide

  45. https://openstf.io

    View Slide