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
130
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
140
AWS Device FarmとCircleCIでAndroidのUIテストを自動化しよう
srym
1
5.1k
Spring BootをKotlinで作成しAmazon Elastic Container Service (ECS) で稼働させる
srym
6
2k
iOSDC_2019_DeviceFarm.pdf
srym
8
20k
世界で戦うエンジニアになるために_公開用.pdf
srym
18
45k
Unit Testing in a Nutshell - DroidKaigi 2018
srym
11
15k
Clean Architecture & TDD
srym
1
3.8k
はやい・やすい・うまい!スタートアップでも使える Retrofit + RxJava で瞬間APIクッキングレシピ
srym
2
630
I/O 2017 Short Report
srym
0
310
Other Decks in Technology
See All in Technology
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
520
Porting PicoRuby to Another Microcontroller: ESP32
yuuu
3
180
NLP2025 参加報告会 / NLP2025
sansan_randd
4
530
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
1
470
こんなデータマートは嫌だ。どんな? / waiwai-data-meetup-202504
shuntak
6
1.8k
Langchain4j y Ollama - Integrando LLMs con programas Java @ Commit Conf 2025
deors
1
130
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
11
3.6k
LangfuseでAIエージェントの 可観測性を高めよう!/Enhancing AI Agent Observability with Langfuse!
jnymyk
0
180
さくらの夕べ Debianナイト - さくらのVPS編
dictoss
0
180
改めて学ぶ Trait の使い方 / phpcon odawara 2025
meihei3
1
600
50人の組織でAIエージェントを使う文化を作るためには / How to Create a Culture of Using AI Agents in a 50-Person Organization
yuitosato
6
3.3k
Vision Pro X Text to 3D Model ~How Swift and Generative Al Unlock a New Era of Spatial Computing~
igaryo0506
0
260
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
Bash Introduction
62gerente
611
210k
Building Flexible Design Systems
yeseniaperezcruz
329
38k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
The Cost Of JavaScript in 2023
addyosmani
49
7.7k
Why Our Code Smells
bkeepers
PRO
336
57k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
520
Into the Great Unknown - MozCon
thekraken
37
1.7k
The Cult of Friendly URLs
andyhume
78
6.3k
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 ࢿྉࢀর