Appium drastically improves automated testing for mobile iOS
February 12, 2018

Appium drastically improves automated testing for mobile iOS

Brian Smith | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Review Source

Overall Satisfaction with Appium

Creating a reusable and easily maintainable interface automation suite can be challenging. Work with iOS, your first thought is to use Xcode and write a suite alongside your unit and integration tests using Swift, but you don't need to. Utilizing Appium allows you to create a full-featured automation suite with one of many powerful languages other than Swift, yet access the full gamut of commands available XCUITest. Choosing Java, for instance, allows you to create a suite with JUnit and structure the project's execution with all the availability of Java's support libraries.
  • Offers an excellent user interface application to assist in designing cases by previewing app screens and retrieving names of the elements you intend on interacting with
  • Provides a generally accessible documentation suite on the web, which you will reference quite often
  • Handles the connection between Appium's server and Xcode's tools during execution well
  • Execution against live iOS devices can be quite slow. This will likely be improved in the near future
  • Challenging for a new user to take on without guidance from a veteran
  • Upgrading to a new version of Xcode before the tool is updated can render you suite useless, until an update is available
  • For cost of ownership, the increase is positive times infinity, as it's free to install and use
  • Lead time for suite development can be a negative, if not planned for during sprint planning
  • Using Appium to execute tests in parallel across a cloud solution can improve CI/CD cycles by 100's of a percent
  • Xcode
If you're an Apple developer, you use Xcode. It's practically a forced necessity. For system testing though, it doesn't have to be. You can have your development team focus on unit and integration tests in their platform and another team automate acceptance tests with a language they are more familiar with.
If you want a full featured suite of interface tests using a language other than Swift for iOS projects, Appium is second to none. Appium allows you to separate an automated system test suite from Xcode and offload its execution to a cloud solution. If your suite is a smaller smoke test, you may be better off simply using Xcode.