11
The Future of Mobile Automation Testing, Appium steals it!! Srinivasan Sekar Appium Member

The future of mobile automation testing, appium steals it

Embed Size (px)

Citation preview

Page 1: The future of mobile automation testing, appium steals it

The Future of Mobile Automation Testing, Appium steals it!!

Srinivasan SekarAppium Member

Page 2: The future of mobile automation testing, appium steals it

Agenda

• Problem Statement

• Solutions Available

• Best Solution’s adopted by Appium

• Q & A

Page 3: The future of mobile automation testing, appium steals it

Problem Statement

• Inspector

• Locator Strategies

• UIAutomation Support

• UIAutomator2 Framework

• Handling Multiple Sessions at a time

• Wearables/tvOS Support

Page 4: The future of mobile automation testing, appium steals it

Inspector• Calabash IRB

• Works well with applications developed on different technology

• To find right match, user have to do lot of hit and trials in irb

• Identifies the elements based on visibility

• Doesn’t have any control over other apps installed in device

• Not user friendly

• Appium Inspector• Not Actively maintained by Appium team

• Doesn’t have any control over other apps installed in device

• At times appium-dot-app crashes abruptly during inspection

• Selendroid Inspector• Doesn’t have any control over other apps installed in device

• Doesn’t render UIElements in screen for certain applications or applications developed on certain technologies

Page 5: The future of mobile automation testing, appium steals it

Solution• iOS - Facebook’s WebDriverAgent Inspector:• Developed in node.js• WDA is an iOS app installed in Simulator or Device which takes best control of apps on device and

Rendering is based on visibility of elements

• Android – Google’s uiautomatorviewer• Works absolutely fine for android apps• Doesn’t support Multi-Window searches for API level 21+ and prior to API level 21 we can access active

window• https://code.google.com/p/android/issues/detail?

Page 6: The future of mobile automation testing, appium steals it

UIAutomation support

Problem StatementApple no more support’s UIAutomation but does XCUITest to automate iOS applications.

Solutions

Page 7: The future of mobile automation testing, appium steals it

UIAutomator2 Framework

UIAutomator2

Backward Compatibility

Performance

Toast Messages

Push Notifications

Page 8: The future of mobile automation testing, appium steals it

Handling Multiple Sessions

Problem Statement• Parallel Execution of tests across multiple iOS real devices and simulators simultaneously

Solution’s Available• FB’s Simulator Control controls iOS Simulators by manipulating the system.

• Appium supports multiple sessions on real devices.

• Appium : simctl -> fbsimctl

Page 9: The future of mobile automation testing, appium steals it

Wearables/tvOS Support• Testing Apps in Android wearables are feasible with many existing frameworks

already• iOS Apple Watch and tvOS Support is a concern for many already• As said earlier XCUITestDriver supports tvOS through WDA. Expect a complete

support in near future.• Appium Driver is designed in such a way that it can be easily adopted and write

wrapper on top of existing Mobile Json Wire methods to support any apps.• E.g: https://github.com/YOU-i-Labs/appium-youiengine-driver

Page 10: The future of mobile automation testing, appium steals it

Sources

• DroidDriver - https://android.googlesource.com/platform/external/droiddriver• DroidDriver - https://github.com/appium/droiddriver• UIAutomator v2- https://android.googlesource.com/platform/frameworks/uiautomator/+/master• Facebook’s WDA – https://github.com/facebook/FBSimulatorControl• Facebook’s fbsimtcl - https://github.com/facebook/FBSimulatorControl• Google EarlGrey - https://github.com/google/EarlGrey• https://github.com/appium/appium-xcuitest-driver• https://github.com/appium/appium-uiautomator2-driver• https://github.com/appium/appium-uiautomator2-server• https://github.com/appium/appium/issues/4369• https://code.google.com/p/android/issues/detail?id=207569• https://github.com/appium/appium/issues/4869• https://github.com/appium/appium/issues/4858

Page 11: The future of mobile automation testing, appium steals it