The future of mobile automation testing, appium steals it

Post on 09-Apr-2017

463 views 0 download

Transcript of The future of mobile automation testing, appium steals it

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

Srinivasan SekarAppium Member

Agenda

• Problem Statement

• Solutions Available

• Best Solution’s adopted by Appium

• Q & A

Problem Statement

• Inspector

• Locator Strategies

• UIAutomation Support

• UIAutomator2 Framework

• Handling Multiple Sessions at a time

• Wearables/tvOS Support

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

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?

UIAutomation support

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

Solutions

UIAutomator2 Framework

UIAutomator2

Backward Compatibility

Performance

Toast Messages

Push Notifications

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

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

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