Currently there are a lot of testautomation frameworks that can help you automate your native app, but how do you pick the right one?
In the talk I gave at AppiumConf2018 in London I showed how my journey for selecting the best tool for testing Tele2's new React Native app for iOS and Android went. We take a look at the selected teststrategy and walked down the bumpy road I needed to take to get the automation on the quality level it is now.
4. About me
▪ The blue guy
▪ Fatherof 2 kids and happily married formore than12,5years
▪ Manual testing since 2007
▪ Testautomation since 2012 (QTP/UFT,Protractor,Appium,webdriver.io)
▪ Automation geek
▪ Ownerof some widelyused (testing)modules
▪ Working fordeTesters and hired bydifferentcustomers
5. About me
▪ The blue guy
▪ Fatherof 2 kids and happily married formore than12,5years
▪ Manual testing since 2007
▪ Testautomation since 2012 (QTP/UFT,Protractor,Appium,webdriver.io)
▪ Automation geek
▪ Ownerof some widelyused (testing)modules
▪ Working fordeTesters and hired bydifferentcustomers
10. (Test automation) Requirements
Hard:
▪ The tool should be cross-platform
▪ Write testcode in1language
▪ UserE2E flow (app/browser/native)
▪ Teston
emulators/simulators/real devices
▪ CI-support
▪ Reporting with screenshots on error
Soft:
11. (Test automation) Requirements
Hard:
▪ The tool should be cross-platform
▪ Write testcode in1language
▪ UserE2E flow (app/browser/native)
▪ Teston
emulators/simulators/real devices
▪ CI-support
▪ Reporting with screenshots on error
Soft:
▪ Automation should be a team effort
▪ TestBDD style (Given,When,Then)
20. How did I compare?
▪ Navigation:
▪ Tabbar and swipe
21. How did I compare?
▪ Navigation:
▪ Tabbar and swipe
22. How did I compare?
▪ Navigation:
▪ Tabbar and swipe
▪ Webview:
▪ Native / Hybrid Swipe
▪ Act in the webview context
23. How did I compare?
▪ Navigation:
▪ Tabbar and swipe
▪ Webview:
▪ Native / Hybrid Swipe
▪ Act in the webview context
▪ Chats:
▪ Interact and get result
25. Detox
Pro’s
✓ Interacts nicelywith the app and
syncs with it
✓ Fast
✓ Easyto debug
✓ Possibilityto use the native keyboard
✓ You see interaction on the screen
✓ (Alreadya) Big community
Cons
26. Detox
Pro’s
✓ Interacts nicelywith the app and
syncs with it
✓ Fast
✓ Easyto debug
✓ Possibilityto use the native keyboard
✓ You see interaction on the screen
✓ (Alreadya) Big community
Cons
– Onlynative app support
– No interaction with a webview
– Currentlyno supportforcoordinates
– Currentlyno screenshots
– No .getText()
– Hard to getproperlogging/reporting
– Hard toverifycertain actions
28. Appium
Pro’s
✓ The de facto standard
✓ Stable solution & large community
✓ Supports native / hybrid / browser
✓ Well supported forprivate/cloud
device lab
✓ Integrate with multiple frameworks
✓ There is always a wayin 99% of the
(test) cases
Cons
29. Appium
Pro’s
✓ The de facto standard
✓ Stable solution & large community
✓ Supports native / hybrid / browser
✓ Well supported forprivate/cloud
device lab
✓ Integrate with multiple frameworks
✓ There is always a wayin 99% of the
(test) cases
Cons
– Hard to setup (?)
– Slow
– Unstable / inconsistentresults (?)
– Sometimes hard to debug
31. Is Appium the best tool for React Native apps?
▪ It’s not the holy grail!
32. Is Appium the best tool for React Native apps?
▪ It’s not the holy grail!
▪ What are your requirements?
33. Is Appium the best tool for React Native apps?
▪ It’s not the holy grail!
▪ What are your requirements?
▪ What should your app do (now/future)?
34. Is Appium the best tool for React Native apps?
▪ It’s not the holy grail!
▪ What are your requirements?
▪ What should your app do (now/future)?
▪ Which tool supports your needs/expectations?
35. Is Appium the best tool for React Native apps?
▪ It’s not the holy grail!
▪ What are your requirements?
▪ What should your app do (now/future)?
▪ Which tool supports your needs/expectations?
▪ Proof Of Concept!