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
0
110
AWS Device FarmとCircleCIでAndroidのUIテストを自動化しよう
srym
0
4.7k
Spring BootをKotlinで作成しAmazon Elastic Container Service (ECS) で稼働させる
srym
6
1.7k
iOSDC_2019_DeviceFarm.pdf
srym
8
19k
世界で戦うエンジニアになるために_公開用.pdf
srym
18
44k
Unit Testing in a Nutshell - DroidKaigi 2018
srym
11
15k
Clean Architecture & TDD
srym
1
3.6k
はやい・やすい・うまい!スタートアップでも使える Retrofit + RxJava で瞬間APIクッキングレシピ
srym
2
560
I/O 2017 Short Report
srym
0
280
Other Decks in Technology
See All in Technology
Cypress or Playwright?
rainerhahnekamp
0
110
MapLibreとAmazon Location Service
dayjournal
1
160
競技としてのKaggle、役に立つKaggle
yu4u
4
1.9k
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
300
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
640
アクセス制御にまつわる改善 / Improving access control
itkq
0
550
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
240
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
540
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
0
390
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
220
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
140
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
800
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
276
33k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Documentation Writing (for coders)
carmenintech
60
3.9k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
2
1.3k
Docker and Python
trallard
34
2.7k
Faster Mobile Websites
deanohume
299
30k
A better future with KSS
kneath
231
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
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 ࢿྉࢀর