Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Android Testing Bootcamp #2: OpenSTF
Search
Gunther Brunner
June 09, 2016
Programming
1.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android Testing Bootcamp #2: OpenSTF
OpenSTFを紹介します
Gunther Brunner
June 09, 2016
More Decks by Gunther Brunner
See All by Gunther Brunner
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
5
2.4k
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
3.7k
複数のGemini CLIが同時開発する狂気 - Jujutsuが実現するAIエージェント協調の新世界
gunta
16
8.9k
Breaking Down Enterprise AI Tool Adoption Barriers in Japan: CyberAgent's Cursor Implementation Strategy
gunta
0
240
大手企業のAIツール導入の壁を越えて:サイバーエージェントのCursor活用戦略
gunta
46
38k
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
6
1.5k
Feature FlagsのDX/UXの 頂点「 DevCycle 」に 辿り着くまでの道のり
gunta
5
1.9k
OpenSaaS Studio - 強いSaaSを作り続けるOpenSaaS Studioの挑戦
gunta
3
3.3k
OpenSTF @ Test Engineers' Meetup #3
gunta
1
1.6k
Other Decks in Programming
See All in Programming
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
160
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
220
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
450
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
270
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
Building an Out-of-Order CPU
latte72
1
800
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
2
300
Security issues being discussed on Web Platforms
petamoriken
0
1.2k
setup-vp GitLab対応の裏側
naokihaba
0
120
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
190
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
170
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Making Projects Easy
brettharned
120
6.8k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
WENDY [Excerpt]
tessaabrams
14
39k
Embracing the Ebb and Flow
colly
88
5.2k
The browser strikes back
jonoalderson
0
1.7k
sira's awesome portfolio website redesign presentation
elsirapls
0
420
Transcript
Gunther Brunnerʢάϯλɾϒϧϯφʔʣ @gunta85
εϚʔτϑΥϯɾςετɾϑΝʔϜ
࣮ػϦϞʔτૢ࡞ ϒϥβ͔ΒϥΫϥΫૢ࡞
࣮ػϦϞʔτૢ࡞ ϒϥβ͔ΒϥΫϥΫૢ࡞
ػೳ
URLϒϥδϯά • ͲͷϒϥβͰURLΛ ೖྗ͠ͳ͕ΒαΠτ֬ೝ • Πϯετʔϧ͞Ε͍ͯΔϒϥ βҰͷϦετϦΞϧλΠϜऔಘ
Ωϟϓνϟ • ੩ࢭըͷΩϟϓνϟ • ϦΞϧλΠϜϦαΠζ • ΩϟϓνϟͷURLγΣΞ
ΞϓϦΞοϓϩʔυ • APKϑΝΠϧΛ؆୯ʹ υϥοάˍυϩοϓ • ଈ࣌ΞοϓϩʔυˍΠϯετʔϧ • ىಈ͍ͨ͠ΞΫςΟϏςΟͷબ
ίϐʔˍϖʔετ • ࣮ػ㲗ύιίϯͷ ίϐʔˍϖʔετ • ϚϧνݴޠରԠ
ΞϓϦγϣʔτΧοτ • Α͘ΘΕ͍ͯΔ γϣʔτΧοτ
ϦϞʔτσόοά • ࣗͷύιίϯʹܨ͕͍ͬͯΔ͔ ͷΑ͏ʹϦϞʔτσόοά͕Մೳ • Android StudioɺEclipseରԠ • Chrome DevToolsFirefoxɺ
ADBͱଓՄೳͳͷશͯରԠ
࣮ػࣸਅ • ࣮ػͷ࣮ࣸਅͷ֬ೝ
ϚφʔϞʔυ • ϚφʔϞʔυઃఆͷมߋ
ετΞϩάΠϯࣗಈԽ • άʔάϧϓϨΠʹϩάΠϯ <։ൃதػೳ>
ϦΞϧλΠϜϩά • Logcatͷϩάදࣔ • ϦΞϧλΠϜϑΟϧλϦϯά
ݕࡧ • ϝʔΧʔɺOSόʔδϣϯɺ ൃചͳͲͷ࣮ػݕࡧ͕Մೳ
ߴͳೖྗ • ϋʔυΩʔͷԕִૢ࡞ • ిݯϘλϯɺԻྔɺ ϝσΟΞΩʔɺD-PadΩʔ
ϋʔυΣΞৄࡉ • ϋʔυΣΞͷεϖοΫৄࡉ • όοςϦʔ݈߁ঢ়ଶɺԹɺి ѹɺΩϟϦΞɺి൪߸ɺσΟε ϓϨΠɺωοτϫʔΫɺOSৄࡉ
࣮ػ࠶ىಈ • ϦϞʔτ࠶ىಈ
Ϧόʔεϙʔτ ϑΥϫʔσΟϯά • ϩʔΧϧαʔόʔͷαΠτ֬ೝ
ϚϧνݴޠରԠUI • ຊޠ • ӳޠ • ϑϥϯεޠ • εϖΠϯޠ •
ϙʔϥϯυޠ • தࠃޠ • ؖࠃޠ • ϩγΞޠ
ϚϧνσόΠεૢ࡞
εϚϗ͔ΒͰ ԕִૢ࡞ • AndroidΛผͷεϚϗ͔Βૢ࡞ • ϚϧνλονରԠ
100% Apache 2.0 ϥΠηϯε https://openstf.io
ಋೖࣄྫ ίϛοτߩݙ
ಋೖࣄྫ ΦϯϓϨϛεͰಈͨ͘Ί ڞ࢈ओٛࠃՈͰಛʹਓؾ
ΦϯϓϨϛε൛ͷཱ • USBϋϒΛߪೖ • ख࣋ͪͷAndroid࣮ػΛܨ͙
αʔόʔΈཱͯ Android 28ରԠ PCαʔόʔ 1 USBϋϒ 4 USBέʔϒϧ 28ຊ
RaspberryͷΑ͏ͳখܕPC Android 3ରԠ খܕPC 1 USBϋϒ ແ͠ USBέʔϒϧ 3ຊ
STF σόΠεϥοΫ
• Android 2.3.3 ~ 6.0.1 • Android N Preview 3
• Android Wear ~5.1 • FireOSɺMIUIɺCyanogenMod • ROOTෆཁ ରԠOSʢ࣮ػʣ
ରԠϒϥβʢΫϥΠΞϯτʣ • Google Chrome (σεΫτοϓ൛ɾϞόΠϧ൛) • Safari (σεΫτοϓ൛ɾϞόΠϧ൛) • Mozilla
Firefox • Internet Explorer • Opera
ରԠOSʢαʔόʔʣ • CoreOSʢਪʣ • BSDɺLinux • Mac OS X
STFͷΠϯετʔϧ ϢʔβΠϯετʔϧෆཁ
ϩʔΧϧͰΠϯετʔϧ (Mac OS X) • ADBΛΠϯετʔϧ • ґଘؔΛΠϯετʔϧ • STFΛΠϯετʔϧ
brew install node rethinkdb graphicsmagick zeromq protobuf npm install -g stf Android SDK Tools / Android Studioʹؚ·Ε͍ͯΔ
ϩʔΧϧͰ࣮ߦ • σʔλϕʔεΛ࣮ߦ • STFΛ࣮ߦ stf local rethinkdb
LANͰ࣮ߦ (؆қ൛) • σʔλϕʔεΛ࣮ߦ • STFΛ࣮ߦ • ྫɿPCͷIP192.168.0.1ͷ߹ɺ ଞͷPChttp://192.168.0.1:7100 ͔ΒΞΫηεՄೳ
stf local —-public-ip 192.168.0.1 rethinkdb
STF V2 ۙϦϦʔε • STFͷ৽ػೳɹϒϥϯν2.0.0 • ࣗಈςετͰͷར༻ɿREST APIΛՃ • ͷεςʔλεʢར༻தɾΦϑϥΠϯʣ͕औಘɾมߋՄೳ
• ͷใʢOSɾϞσϧʣ͕औಘՄೳ
STF V2 ۙϦϦʔε
STF V2 ۙϦϦʔε
ࣗಈԽ • جຊతʹOpenSTF + Jenkins + Appium + Docker •
JUnit4ɺRoboelectricɺEspressoɺUI Automatorɺ RobotiumɺeggPlantOK
ଞͷπʔϧΑΓ༏Ε͍ͯΔϙΠϯτ • ͍͍͢UI / UX • ը໘సૹ͕ૣ͍ʢ30fpsʙ60fpsʣ • Ϩεϙϯεૢ࡞͕ૣ͍ •
ศརͳػೳ͕ͨ͘͞Μࡌ͞Ε͍ͯΔ • Φʔϓϯιʔεɾແঈ • ϓϥΠϕʔτΫϥυɾΦϯϓϨϛεͰར༻Մೳ
ଞͷπʔϧΑΓ༏Ε͍ͯΔϙΠϯτ • શΦʔϓϯιʔε • ৴པੑɿ੬ऑੑόάͷमਖ਼୭Ͱ֬ೝ͕Ͱ͖ɺ͍ͪૣ͘मਖ਼͕Մೳɻ • ҆ఆੑɿݩͷ߹ʢ࢈ɺଧͪΓʣʹΑΔফ໓͕ଘࡏ͠ͳ͍ɻ ϝϯςφϯεͷܧଓ͕Մೳɻظతͷ҆ఆͯ͠ར༻ɻ • ࢹೳྗɿୈࡾऀػؔʹࠪΛґཔ͢Δࣄ͕Մೳɻ
• ॊೈੑͱࣗ༝ɿطଘγεςϜͱͷ࿈ܞ৽͍͠ػೳͷՃͳͲɺ ॾʑมԽ͢Δࣄʹରͯ͠ॊೈରԠɻ • ίετɿແঈɻγεςϜಋೖϥΠηϯεͷ૯߹తͳίετݮɻ • αϙʔτɿGitHub Issuesͱϝʔϧʹͯɻ
αϙʔτʢຊޠɾӳޠʣ • GitHub Issues https://github.com/openstf/stf/issues ίϛϡχςΟαϙʔτ ๏ਓ͚αϙʔτ • ϝʔϧ
[email protected]
https://openstf.io