Upload
vodqablr
View
462
Download
0
Embed Size (px)
Citation preview
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