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
Espresso Test Recorder
Search
magiepooh
June 17, 2016
Technology
730
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Espresso Test Recorder
magiepooh
June 17, 2016
More Decks by magiepooh
See All by magiepooh
今さら角丸のTransition
magiepooh
0
1.6k
Google I/O Extended Tokyo 2018
magiepooh
2
1.7k
APIのデータのマッピングを 約18倍速くした話
magiepooh
2
1.1k
まだAPI定義管理で消耗してるの?〜Swaggerを用いた大規模アプリ時代のAPI定義管理とコードジェネレート〜
magiepooh
38
19k
RootBeer
magiepooh
0
890
Customize Error Message
magiepooh
0
920
Kotlin入門
magiepooh
2
2k
Adjust Full Screen
magiepooh
2
570
How to get size of NavigationBar and StatusBar
magiepooh
1
1.9k
Other Decks in Technology
See All in Technology
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
32
28k
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
0
200
データ_AIの事業の勝敗をわけるもの
nek0128
1
460
AI coding 整合正規方法
philipz
0
370
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
560
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.4k
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
290
AIは推し活である。
kurazuuuuuu
1
860
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
3
620
HHKBエバンジェリストになる方法
941
0
110
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
2
1.5k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Speed Design
sergeychernyshev
33
2.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Crafting Experiences
bethany
1
350
Mind Mapping
helmedeiros
1
360
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Automating Front-end Workflow
addyosmani
1369
210k
Designing for humans not robots
tammielis
254
26k
From π to Pie charts
rasagy
1
370
Transcript
Espresso Test Recorder @magiepooh
About me @magiepooh @magie_pooh Takuma Fujita
Company AbemaTV, Inc. (Cyber Agent, Inc.)
What’s Espresso?
Espresso • Testing UI tool
Test
Test [Disadvantage] Maintenance Laziness [Advantage] Clean design Reduce bugs
Espresso Test Recorder
Espresso Test Recorder • GoogleIO 2016 • Record Espresso UI
tests simply by using your app as a normal user
Demo
None
RecyclerView
Can’t detect scroll event…
None
None
None
ViewInteraction appCompatButton = onView( allOf(withId(R.id.button_recycler), withText("RecyclerView"), withParent(allOf(withId(R.id.activity_main), withParent(withId(android.R.id.content)))), isDisplayed())); appCompatButton.perform(click());
ViewInteraction recyclerView = onView(allOf(withId(R.id.recycler_view), isDisplayed())); recyclerView.check(matches(isDisplayed())); // >>> Developers need write this line to scroll RecyclerView onView(withId(R.id.recycler_view)).perform(RecyclerViewActions.scrollToPosition(19)); // <<< ViewInteraction appCompatButton2 = onView(allOf(withId(R.id.text_recycler), withText("position: 19"), isDisplayed())); appCompatButton2.perform(click());
ViewInteraction appCompatButton = onView( allOf(withId(R.id.button_recycler), withText("RecyclerView"), withParent(allOf(withId(R.id.activity_main), withParent(withId(android.R.id.content)))), isDisplayed())); appCompatButton.perform(click());
ViewInteraction recyclerView = onView(allOf(withId(R.id.recycler_view), isDisplayed())); recyclerView.check(matches(isDisplayed())); // >>> Developers need write this line to scroll RecyclerView onView(withId(R.id.recycler_view)).perform(RecyclerViewActions.scrollToPosition(19)); // <<< ViewInteraction appCompatButton2 = onView(allOf(withId(R.id.text_recycler), withText("position: 19"), isDisplayed())); appCompatButton2.perform(click());
ViewPager
Can’t detect scroll event…
None
Conclusion • Espresso Test Recorder is currently experimental.