A huge number of mobile testing tools have been developed in recent years to support mobile development. As more companies are developing mobile products and the marketplace is seeing more devices, platforms, and versions, testing your mobile apps is vital. When it comes choosing what mobile testing tool is right for you, there is a huge array of options, each with different strengths and weaknesses.At same time there are lot of challenges involved in automating a mobile applications like inspecting the objects, parallel testing to make the product custom fit in agile life cycle, Native framework support, Wearables/tvOS support etc. And we are going to see how Appium with the help of other tools handles these problems to steal the future
Problems faced by Mobile testers and how Appium provides solution for it.
1) Xpath Locator Strategies - completely depending on the xml hierarchy that app renders
- Locator strategies are quite improved by replacing the android-bootstrap implementation with actively maintained google’s droiddriver implementation to locate objects effectively
- Issue e.g Unable to select individual elements in UIATableView by Xpath -https://github.com/appium/appium/issues/6517
- add invisible elements to uiautomator2 page source https://github.com/appium/appium/issues/4369
2)Inspector:
- Limitation of Appium Inspector & Calabsh’s IRB - completely depends on the application page source rendered by either instruments UIAutomation or UIAutomatorViewer which in turn fails on many cases depending on the technology used to develop app,instruments UIAutomation known issues which doesn’t render UITableCollectionviewcells often,not so user friendly,etc
- This been overcome by Facebook’s webdriveragent & its inspector which has more control over the device not just the application
- appuim inspector isn't maintained. we recommend users inspect via uiautomatorviewer
3)UIAutomation support is over from Xcode 8 beta:
- Apple has lifted their support of UIAutomation from Xcode 10 hence automation libraries or tools depending on native framework won’t work from iOS 9.Apple has an alternative solution of XCUITests to automate app’s but the API’s of XCUITests are completely broken on many cases
- Facebook’s WDA uses XCUITest for automation which fixed many of broken XCUITest API’s
- Appium has already adopted FB’s WDA which inturn support’s future iOS automation through XCUITest Driver called appium-xcuitest-driver
- Instruments Memory leak will get over with this new approach
4)UIAutomator 2 Framework:
- Issues in Google’s Framework: UiAutomator V2 finding objects which are not identifiable with UiAutomatorViewer. https://code.google.com/p/android/issues/detail?id=207569
- uiAutomatorviewer not in sync with V2 implementation
- project architecture in appium
- https://github.com/appium/appium/issues/4869
- https://github.com/appium/appium/issues/4858
- -support Toast Messages on Android
-get the text from a password field
5)Handling Multiple Sessions at a time
- Parallel Execution on iOS real device
- Parallel Execution on iOS Simulators (Will be supported in upcoming versions)