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
UI Testing + Kakao
Search
JSBerrocoso
November 21, 2017
Programming
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UI Testing + Kakao
JSBerrocoso
November 21, 2017
Other Decks in Programming
See All in Programming
JIS keyboard support in Omarchy
lef237
0
110
Railsバージョンを4倍にした話
optim
0
360
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
SREの越境 / SRE Collaboration
y0hgi
2
310
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
Jetpack Compose Mechanisms
skydoves
3
820
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
32k
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
How to make the Groovebox
asonas
2
2.5k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
The Pragmatic Product Professional
lauravandoore
37
7.5k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Abbi's Birthday
coloredviolet
4
10k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
New Earth Scene 8
popppiees
4
2.7k
Transcript
UI Testing: + Kakao
INTRODUCTION CATEGORIES OF ANDROID UNIT TESTING ANDROID TESTING SUPPORT LIBRARY
ESPRESSO ESPRESSO RECORDER OTHERS UITESTING FRAMEWORKS KAKAO KAKAO vs ESPRESSO ESPRESSO WITH PAGE OBJECT PATTERN SHOW ME THE CODE RESOURCES
INTRODUCTION
INTRODUCTION UI Automator Android Testing Support Library Kakao Espresso
CATEGORIES OF ANDROID UNIT TESTING
CATEGORIES OF ANDROID UNIT TESTING Local Unit test Intrumentation test
• src/test • Run on JVM • 70-80% coverage • src/androidTest • Run on Android System • 20% coverage
Android Testing Support Library
INTRODUCTION UI Automator Android Testing Support Library
Espresso: What is?
ESPRESSO: What is? • Open source UI Testing framework created
by Google • A great way to integration test applications • To write concise, beautiful, and reliable Android UI tests.
Espresso: How work?
ESPRESSO: HOW WORK? https://goo.gl/5nKCxk
ESPRESSO: HOW WORK? https://goo.gl/5nKCxk
ESPRESSO: HOW WORK?
ESPRESSO: HOW WORK? Sample Test
Espresso: Setting up
ESPRESSO: SETTING UP DEPENDENCIES INSTRUMENTATION RUNNER DEVICE • TURN OFF
ALL ANIMATIONS
Repositorie https://github.com/JSBerrocoso/UITesting/ feature/settings-espresso
Espresso: Run tests
ESPRESSO: RUN TESTS RUN TEST WITH ANDROID STUDIO RUN TEST
FROM COMMAND LINE
Espresso: Show results
ESPRESSO: SHOW RESULTS RUN TAB FIREBASE TEST LAB https://goo.gl/x8HUyH
Espresso: Recorder
ESPRESSO: RECORDER • Create UI tests without writing any test
code. • White tests based on Espresso Testing Framework • Create and save UI Interactions and assertions on View elements
ESPRESSO: RECORDER LAUNCH RECORDER
ESPRESSO: RECORDER LAUNCH RECORDER SELECT DEVICE
ESPRESSO: RECORDER USER INTERACTIONS ASSERTIONS
ESPRESSO: RECORDER SAVE TEST RUN RECORDED TEST
Other UI Testing framework
OTHER UI TESTING FRAMEWORK Appium http://appium.io/ UI Automator https://developer.android.com/training/testing/ui-automator.html Calabash
http://calaba.sh/ Robotium https://github.com/RobotiumTech/robotium
Kakao vs Espresso
https://github.com/agoda-com/Kakao KAKAO: What is? • Nice and simple DSL for
Espresso written in Kotlin • More concise, beautiful, and reliable than Espresso • Readability, Reusability, Extensible DSL • More faster than Espresso
KAKAO vs ESPRESSO SCENARIO • Login Success
KAKAO vs ESPRESSO SCENARIO • Login Success
KAKAO vs ESPRESSO SCENARIO • Login Success KAKAO TEST
KAKAO vs ESPRESSO ESPRESSO in Java
KAKAO vs ESPRESSO ESPRESSO in Kotlin ESPRESSO in Java
KAKAO vs ESPRESSO: Sample test ESPRESSO in Kotlin converted KAKAO
ESPRESSO in Java with Recorder tool
KAKAO vs ESPRESSO: Sample test ESPRESSO in Kotlin converted KAKAO
ESPRESSO in Java with Recorder tool
Espresso with Page Object Pattern
Repo: https://goo.gl/GFpvNA PAGE OBJECT PATTERN • Based on screen (page)
elements agrupation • High reusability • Martin Fowler: https://goo.gl/oykNxo
Espresso with: Page Object Pattern
PAGE OBJECT PATTERN
Show me the code https://github.com/JSBerrocoso/UITesting
RESOURCES Kakao - how to make UI testing great again
https://goo.gl/bW9Ehi Android Testing Support Library https://goo.gl/AkTVG7 Testing Codelab https://goo.gl/h5cnMW User Interface testing with Espresso https://goo.gl/y3nZCe Testing with kotlin https://goo.gl/UzQSif AdapterViews and Espresso https://goo.gl/6Hb2ym Indle resources https://goo.gl/yzEdYC
THANKS Dr. Zamenhof 36 bis, 1°A 28027 Madrid - Spain
T. +34 653344412
[email protected]
José Santiago Berrocoso Sánchez github: JSBerrocoso