Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

ػೳ

Slide 6

Slide 6 text

URLϒϥ΢δϯά • Ͳͷϒϥ΢βͰ΋URLΛ
 ೖྗ͠ͳ͕ΒαΠτ֬ೝ • Πϯετʔϧ͞Ε͍ͯΔϒϥ΢ βҰͷϦετϦΞϧλΠϜऔಘ

Slide 7

Slide 7 text

Ωϟϓνϟ • ੩ࢭըͷΩϟϓνϟ • ϦΞϧλΠϜϦαΠζ • ΩϟϓνϟͷURLγΣΞ

Slide 8

Slide 8 text

ΞϓϦΞοϓϩʔυ • APKϑΝΠϧΛ؆୯ʹ
 υϥοάˍυϩοϓ • ଈ࣌ΞοϓϩʔυˍΠϯετʔϧ • ىಈ͍ͨ͠ΞΫςΟϏςΟͷબ୒

Slide 9

Slide 9 text

ίϐʔˍϖʔετ • ࣮ػ㲗ύιίϯͷ
 ίϐʔˍϖʔετ • ϚϧνݴޠରԠ

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

ϦϞʔτσόοά • ࣗ෼ͷύιίϯʹܨ͕͍ͬͯΔ͔ ͷΑ͏ʹϦϞʔτσόοά͕Մೳ • Android StudioɺEclipseରԠ • Chrome DevTools΍Firefoxɺ
 ADBͱ઀ଓՄೳͳ΋ͷ͸શͯରԠ

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

ετΞϩάΠϯࣗಈԽ • άʔάϧϓϨΠ౳ʹϩάΠϯ 
 <։ൃதػೳ>

Slide 15

Slide 15 text

ϦΞϧλΠϜϩά • Logcatͷϩάදࣔ • ϦΞϧλΠϜϑΟϧλϦϯά

Slide 16

Slide 16 text

୺຤ݕࡧ • ϝʔΧʔɺOSόʔδϣϯɺ
 ൃച೔ͳͲͷ࣮ػݕࡧ͕Մೳ

Slide 17

Slide 17 text

ߴ౓ͳೖྗ • ϋʔυΩʔͷԕִૢ࡞ • ిݯϘλϯɺԻྔɺ
 ϝσΟΞΩʔɺD-PadΩʔ౳

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

ϚϧνݴޠରԠUI • ೔ຊޠ • ӳޠ • ϑϥϯεޠ • εϖΠϯޠ • ϙʔϥϯυޠ • தࠃޠ • ؖࠃޠ • ϩγΞޠ

Slide 22

Slide 22 text

ϚϧνσόΠεૢ࡞

Slide 23

Slide 23 text

εϚϗ͔ΒͰ΋ ԕִૢ࡞ • AndroidΛผͷεϚϗ͔Βૢ࡞ • ϚϧνλονରԠ

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

ಋೖࣄྫ ίϛοτߩݙ

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

STF σόΠεϥοΫ

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

LANͰ࣮ߦ (؆қ൛) • σʔλϕʔεΛ࣮ߦ • STFΛ࣮ߦ • ྫɿPCͷIP͸192.168.0.1ͷ৔߹ɺ
 ଞͷPC͸http://192.168.0.1:7100 ͔ΒΞΫηεՄೳ stf local —-public-ip 192.168.0.1 rethinkdb

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

STF V2 ۙ೔ϦϦʔε

Slide 40

Slide 40 text

STF V2 ۙ೔ϦϦʔε

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

ଞͷπʔϧΑΓ༏Ε͍ͯΔϙΠϯτ • ׬શΦʔϓϯιʔε • ৴པੑɿ੬ऑੑ΍όάͷमਖ਼͸୭Ͱ΋֬ೝ͕Ͱ͖ɺ͍ͪૣ͘मਖ਼͕Մೳɻ • ҆ఆੑɿ੡଄ݩͷ౎߹ʢ౗࢈ɺଧͪ੾Γ౳ʣʹΑΔফ໓͕ଘࡏ͠ͳ͍ɻ
 ϝϯςφϯεͷܧଓ͕Մೳɻ௕ظతͷ҆ఆͯ͠ར༻ɻ • ؂ࢹೳྗɿୈࡾऀػؔʹ؂ࠪΛґཔ͢Δࣄ͕Մೳɻ • ॊೈੑͱࣗ༝ɿطଘγεςϜͱͷ࿈ܞ΍৽͍͠ػೳͷ௥ՃͳͲɺ
 ॾʑมԽ͢Δࣄ৘ʹରͯ͠ॊೈରԠɻ • ίετɿແঈɻγεςϜಋೖ΍ϥΠηϯεͷ૯߹తͳίετ࡟ݮɻ • αϙʔτɿGitHub Issuesͱϝʔϧʹͯɻ

Slide 44

Slide 44 text

αϙʔτʢ೔ຊޠɾӳޠʣ • GitHub Issues
 https://github.com/openstf/stf/issues ίϛϡχςΟαϙʔτ ๏ਓ޲͚αϙʔτ • ϝʔϧ
 [email protected]

Slide 45

Slide 45 text

https://openstf.io