Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Android Testing Bootcamp #5 Hands-On Vol.2
Search
Fumihiko Shiroyama
October 28, 2016
Technology
3
120
Android Testing Bootcamp #5 Hands-On Vol.2
Android Testing Bootcamp #5
Hands-On Vol.2
Fumihiko Shiroyama
October 28, 2016
Tweet
Share
More Decks by Fumihiko Shiroyama
See All by Fumihiko Shiroyama
The world of Android wireless communications without Internet
srym
1
120
AWS Device FarmとCircleCIでAndroidのUIテストを自動化しよう
srym
1
4.9k
Spring BootをKotlinで作成しAmazon Elastic Container Service (ECS) で稼働させる
srym
6
1.9k
iOSDC_2019_DeviceFarm.pdf
srym
8
19k
世界で戦うエンジニアになるために_公開用.pdf
srym
18
45k
Unit Testing in a Nutshell - DroidKaigi 2018
srym
11
15k
Clean Architecture & TDD
srym
1
3.7k
はやい・やすい・うまい!スタートアップでも使える Retrofit + RxJava で瞬間APIクッキングレシピ
srym
2
580
I/O 2017 Short Report
srym
0
300
Other Decks in Technology
See All in Technology
効果的なオンコール対応と障害対応
ryuichi1208
5
2.9k
Functional TypeScript
naoya
11
4.8k
AIを活用した柔軟かつ効率的な社内リソース検索への取り組み
cygames
0
110
ネットワークだけ隔離されたコンテナ作成デモ / Kichijoji.pm36
tenforward
1
210
OSTという文化を組織に根付かせてみた
sansantech
PRO
2
290
どこよりも遅めなWinActor Ver.7.5.0 新機能紹介
tamai_63
0
200
プログラム検証入門
riru
6
860
可視化により内部品質をあげるAIドキュメントリバース/20240910 Hiromitsu Akiba
shift_evolve
0
200
技術的負債解消の取り組みと専門チームのお話
bengo4com
0
330
Discovering AI Models
picardparis
4
3.9k
Mocking in Rust Applications
taiki45
1
410
Next.js のページ遷移を全力で止める
ypresto
3
1.6k
Featured
See All Featured
Statistics for Hackers
jakevdp
794
220k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Building Adaptive Systems
keathley
36
2.1k
Building Flexible Design Systems
yeseniaperezcruz
325
38k
A Tale of Four Properties
chriscoyier
155
22k
Designing on Purpose - Digital PM Summit 2013
jponch
114
6.8k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
5
480
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Infographics Made Easy
chrislema
239
18k
Practical Orchestrator
shlominoach
185
10k
Transcript
"OESPJE5FTUJOH#PPUDBNQ )BOET0O7PM "OESPJE@5FTUJOH@#$
w "OESPJE5FTUJOH#PPUDBNQ(SPVQ w IUUQBOESPJEUFTUJOH CPPUDBNQDPOOQBTTDPN w "OESPJE5FTUJOH#PPUDBNQ w IUUQBOESPJEUFTUJOH CPPUDBNQDPOOQBTTDPNFWFOU
ࠓճར༻͢Δڥ
w "OESPJE4UVEJP w IUUQTHJUIVCDPNTSZN5FTU)BOET0O w HJUDMPOFHJU!HJUIVCDPNTSZN 5FTU)BOET0OHJU w HJUDPNBTUFSྫϒϥϯν w
HJUDPBOTXFSղྫϒϥϯν
ΞδΣϯμ
w લճͷ͓͞Β͍ w IUUQTTQFBLFSEFDLDPNTSZNBOESPJE UFTUJOHCPPUDBNQOVNCFSIBOETPO w &TQSFTTP w 3PCPMFDUSJD w
IUUQTTQFBLFSEFDLDPNTSZN SPCPMFDUSJDEPUGPSCFHJOOFST
લճͷ͓͞Β͍
લճͷ͓͞Β͍ ࢿྉࢀর
&TQSFTTP
w (PPHMFެࣜ6*ςετϑϨʔϜϫʔΫ w IUUQTEFWFMPQFSBOESPJEDPNUSBJOJOH UFTUJOHVJUFTUJOHFTQSFTTPUFTUJOHIUNM
CVJMEHSBEMF dependencies { // Other dependencies ... androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' }
CVJMEHSBEMF dependencies { // Other dependencies ... androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' }
࠷ۙͷڥͰσϑΥϧτͰ༗ޮʂ
BOESPJE5FTU
BOESPJE5FTU ͜͜ʹςετΛॻ͍͍ͯ͘
࡞๏
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class); @Test public void TextViewʹදࣔ͞Ε͍ͯΔจࣈྻΛݕূ͢ΔςετίʔυΛॻ͜͏() { onView(withId(R.id.text)).check(ViewAssertions.matches(withText("Hello World!"))); } }
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class); @Test public void TextViewʹදࣔ͞Ε͍ͯΔจࣈྻΛݕূ͢ΔςετίʔυΛॻ͜͏() { onView(withId(R.id.text)).check(ViewAssertions.matches(withText("Hello World!"))); } }
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class); @Test public void TextViewʹදࣔ͞Ε͍ͯΔจࣈྻΛݕূ͢ΔςετίʔυΛॻ͜͏() { onView(withId(R.id.text)).check(ViewAssertions.matches(withText("Hello World!"))); } } ىಈ͢Δ"DUJWJUZ
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class); @Test public void TextViewʹදࣔ͞Ε͍ͯΔจࣈྻΛݕূ͢ΔςετίʔυΛॻ͜͏() { onView(withId(R.id.text)).check(ViewAssertions.matches(withText("Hello World!"))); } } ࣗಈىಈ
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class, false, false); @Test public void ActivityͷىಈλΠϛϯάΛ੍ޚ͍ͨ͠߹() { mActivityTestRule.launchActivity(new Intent()); } } ࣗಈىಈͤͨ͘͞ͳ͍߹
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class, false, false); @Test public void ActivityͷىಈλΠϛϯάΛ੍ޚ͍ͨ͠߹() { mActivityTestRule.launchActivity(new Intent()); } }
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class, false, false); @Test public void ActivityͷىಈλΠϛϯάΛ੍ޚ͍ͨ͠߹() { mActivityTestRule.launchActivity(new Intent()); } }
جຊ
w PO7JFX XJUI*E 3JEUFYU DIFDL NBUDIFT XJUI5 FYU )FMMP8PSME
w PO7JFX BMM0G XJUI*E 3JECVUUPO XJUI5FYU $-*$, QFSGPSN DMJDL
&TQSFTTP w PO7JFX w PO%BUB w DMPTF4PGU,FZCPBSE w QSFTT#BDL
7JFX.BUDIFST w IBT$POUFOU%FTDSJQUJPO w XJUI1BSFOU .BUDIFS w XJUI$IJME
.BUDIFS w IBT&SSPS5FYU w IBT'PDVT w IBT4JCMJOH w JT$IFDLFE w JT$MJDLBCMF w JT&OBCMFE w XJUI5FYU
7JFX*OUFSBDUJPO w DIFDL w QFSGPSN
7JFX"DUJPOT w DMJDL w EPVCMF$MJDL w MPOH$MJDL
w QSFTT#BDL w QSFTT.FOV,FZ w TXJQF%PXO TXJQF6Q w TXJQF-FGU TXJQF3JHIU w UZQF5FYU
ϋϯζΦϯ w IFMMPFTQSFTTPͷ.BJO"DUJWJUZ5FTUΛ࣮ͯͩ͘͠ ͍͞ʂ
ϋϯζΦϯ w BQQ-PHJO"DUJWJUZ5FTUΛ࣮͍ͯͩ͘͠͞ʂ
3PCPMFDUSJD
3PCPMFDUSJD ࢿྉࢀর