Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Why the h# should I use Appium with React Native

514 vues

Publié le

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.

Publié dans : Mobile
  • Soyez le premier à commenter

Why the h# should I use Appium with React Native

  1. 1. WHY THE H# SHOULD I USE APPIUM WITH REACT NATIVE April 6th 2018 Wim Selles - deTesters
  2. 2. April 6th 2018 Wim Selles - deTesters I USE APPIUM 😉
  3. 3. Content ▪ Aboutme ▪ Project ▪ Tools and the research ▪ Setup
  4. 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. 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
  6. 6. The App…
  7. 7. The App…
  8. 8. (Test automation) Requirements Hard: Soft:
  9. 9. (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:
  10. 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: ▪ Automation should be a team effort ▪ TestBDD style (Given,When,Then)
  11. 11. Tools
  12. 12. Tools XCUITEST
  13. 13. Tools XCUITEST CROSS-PLATFORM FRAMEWORKS PLATFORM SPECIFIC FRAMEWORKS
  14. 14. Tools XCUITEST CROSS-PLATFORM FRAMEWORKS PLATFORM SPECIFIC FRAMEWORKS
  15. 15. Tools XCUITEST CROSS-PLATFORM FRAMEWORKS PLATFORM SPECIFIC FRAMEWORKS
  16. 16. First outcome Requirements Cavy Detox Xamarin.UITest Appium
  17. 17. First outcome Requirements Cavy Detox Xamarin.UITest Appium ▪ Cross platform ! !-ish ! ! ▪ 1 language !JS !JS !C# !JS ▪ User E2E flow " !-ish ! ! ▪ Em/Simulator ! ! ! ! ▪ Real devices " " ! ! ▪ Ci-support " ! ! ! ▪ Reporting " ? ! !
  18. 18. First outcome Requirements Cavy Detox Xamarin.UITest Appium ▪ Cross platform ! !-ish ! ! ▪ 1 language !JS !JS !C# !JS ▪ User E2E flow " !-ish ! ! ▪ Em/Simulator ! ! ! ! ▪ Real devices " " ! ! ▪ Ci-support " ! ! ! ▪ Reporting " ? ! !
  19. 19. How did I compare? ▪ Navigation: ▪ Tabbar and swipe
  20. 20. How did I compare? ▪ Navigation: ▪ Tabbar and swipe
  21. 21. How did I compare? ▪ Navigation: ▪ Tabbar and swipe ▪ Webview: ▪ Native / Hybrid Swipe ▪ Act in the webview context
  22. 22. How did I compare? ▪ Navigation: ▪ Tabbar and swipe ▪ Webview: ▪ Native / Hybrid Swipe ▪ Act in the webview context ▪ Chats: ▪ Interact and get result
  23. 23. Detox Pro’s Cons
  24. 24. 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
  25. 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 – Onlynative app support – No interaction with a webview – Currentlyno supportforcoordinates – Currentlyno screenshots – No .getText() – Hard to getproperlogging/reporting – Hard toverifycertain actions
  26. 26. Appium Pro’s Cons
  27. 27. 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
  28. 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 – Hard to setup (?) – Slow – Unstable / inconsistentresults (?) – Sometimes hard to debug
  29. 29. Is Appium the best tool for React Native apps?
  30. 30. Is Appium the best tool for React Native apps? ▪ It’s not the holy grail!
  31. 31. Is Appium the best tool for React Native apps? ▪ It’s not the holy grail! ▪ What are your requirements?
  32. 32. 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)?
  33. 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)? ▪ Which tool supports your needs/expectations?
  34. 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? ▪ Proof Of Concept!
  35. 35. Setup
  36. 36. Setup ChosenAppiumtogetherwith: ▪ webdriver.io: ▪ Configuresetup/easilyconfigurable ▪ Parallelexecution ▪ Sim/emulators/realdevices ▪ Local/grid/cloudbased ▪ Reporting/screenshots(errorreport/imagecomparison) ▪ CucumberJS ▪ Appium Desktop
  37. 37. Speed it up!
  38. 38. Speed it up!
  39. 39. Speed it up!
  40. 40. Speed it up!
  41. 41. Useful links ▪ My Github project 
 https://goo.gl/jLTsGF ▪ Appium Pro 
 https://appiumpro.com/ ▪ Webinar: 
 The Shifting Landscape of 
 MobileAutomation 
 presented by Jonathan Lipps
 https://youtu.be/AV8p2aeqsOg ▪ Cavy: ▪ Github: 
 https://github.com/pixielabs/cavy ▪ Talk: 
 https://goo.gl/AjDmTE ▪ Detox: ▪ Github: 
 https://github.com/wix/detox ▪ Talk: 
 https://youtu.be/GgFFeI70PWw
  42. 42. TNX! WimSelles–deTesters–Tele2 "@wswebcreation–wswebcreation.nl-github.com/wswebcreation

×