Appium Review
June 05, 2019

Appium Review

Anonymous | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Review Source

Overall Satisfaction with Appium

Appium is used (along with other tools for automation such as Espresso) across all Mobile Testing projects in our company. It is primarily used as the main harness for Android and iOS test automation frameworks. The problem we address by using Appium is automating repeated human work as well as scaling testing for multiple mobile devices.
  • It uses WebDriver API so it makes it easy to use for former web test automation engineers.
  • It can be managed via the command line via an extensive set of parameters.
  • It handles implicit waits at the server side that is especially valuable in distributed infrastructure.
  • There were some cases when Appium caused the application under test to crash. We were unable to allocate the reason at the support forums.
  • It has some backward compatibility issues. Although Appium developers state it's fully backward compatible, we still need to use particular combinations of Appium's mobile OS version to keep the most robust setup. The wrong combination may cause Appium to be unable to interact with some elements in the tested app.
  • It uploads WebDriver agent to iOS devices, and that may hang sometimes after several tests execution as its cache gets polluted.
  • We achieved 80% of major test scenarios coverage.
  • ROI happened for our project per our estimate on 5th month.
  • The Dev team should pay more attention to the app testability and not let obvious issues appear (so automated scripts have more challenges).
The main reason we selected Appium is that we had people experienced in WebDriver API and some framework solutions in place, so given our setup, it provided a faster and cheaper kick-off. Another reason we selected Appium was that SauceLabs had pretty good support for Appium tests in their cloud, so we didn't need to roll out any additional infrastructure.
Appium works well for well-structured mobile applications test automation that is particularly easy to leverage when different pages of the app use similar building blocks. If it takes time for some content in the app to be rendered, ask your dev team to add progress indicators and ensure they are accessible. That might be more complicated to do with Appium, though, if there's no good contact with Dev team established so you can request accessibility IDs added quickly enough when needed.

Appium supports another locator strategies as well though (such as xPath or iOS class chain on iOS) but they wouldn't work as fast so you may get really slow tests.