Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Why the h# should I use Appium with React Native

599 Aufrufe

Veröffentlicht am

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.

Veröffentlicht in: Mobil
  • Als Erste(r) kommentieren

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

×