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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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.5k
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
3.7k
複数のGemini CLIが同時開発する狂気 - Jujutsuが実現するAIエージェント協調の新世界
gunta
16
9k
Breaking Down Enterprise AI Tool Adoption Barriers in Japan: CyberAgent's Cursor Implementation Strategy
gunta
0
260
大手企業のAIツール導入の壁を越えて:サイバーエージェントのCursor活用戦略
gunta
46
38k
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
6
1.6k
Feature FlagsのDX/UXの 頂点「 DevCycle 」に 辿り着くまでの道のり
gunta
5
1.9k
OpenSaaS Studio - 強いSaaSを作り続けるOpenSaaS Studioの挑戦
gunta
3
3.4k
OpenSTF @ Test Engineers' Meetup #3
gunta
1
1.6k
Other Decks in Programming
See All in Programming
SODA - FACT BOOK(EN)
sodainc
1
210
小さなアプリを作って公開するまで
onozaty
0
130
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
Distance field of Julia set
kinakomoti321
0
260
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
3
1.4k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
3.3k
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
190
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
290
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
120
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
280
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
220
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
630
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
350
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
460
A Modern Web Designer's Workflow
chriscoyier
699
190k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
970
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
A better future with KSS
kneath
240
18k
How to Ace a Technical Interview
jacobian
280
24k
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