Test automation on different mobile platforms is truly a challenge. It is also a critical part of success.
Appium can make mobile regression testing much easier, especially for mobile apps where continuous applications are being updated with the latest features. It also does not require source code, so you can test apps directly. Additional, Appium supports for automating built in apps, like Camera, Calendar and Images.
Here are Innominds, we face quite a few challenges while automating tests on the devices like Android, iOS and Windows with different models. Our experience in this industry has taught us so much, leading to the great successes we have had over the years. One thing for certain, if we want to test multiple devices we certainly need to create a test lab to do so, one complete with multiple devices on different platforms.
The focus, though, of this blog is around setting up iOS automation. In my experience, I have seen many issues while setting up an iOS environment. Let’s take a deep dive into a few of the issues we have faced here at Innominds, as well as the solutions we came up with.
I have seen many issues while setting up an iOS environment. One example of a challenge I have encountered is with regard to platform support and the number of OS versions that need to be in sync with Appium version. A second example of a challenge while setting up an iOS environment is supporting multiple iOS devices and running tests in parallel.
Tools Required for before setup Appium Server.
- Mac OS X 10.10 or higher, 10.11.1 recommended
- XCode >= 6.0, 7.1.1 recommended
- Apple Developer Tools (iPhone simulator SDK, command line tools)
- Valid iOS Development Distribution Certificate and Provisioning Profile (for real devices)
- HomeBrew (helps install software on Mac OSX)
- Appium Server
The above mentioned tools are required to start the Appium server in iOS. These are pre-requisites. We have to install these tools using the commands below.
Once we have installed these tools, we usually launch the Appium server in the machine to start script execution. Each time we have launched the Appium server manually, there is a requirement of manual intervention.
If we want to run the automation scripts from CI tool, there is a dependency to start/stop Appium server in the machine. This needs to be done manually. However, each time the user has to do these settings manually, which is not complete automation, it is time consuming. We have a solution for mitigating this problem.
Here is the run time solutions for both start/stop Appium server.
Start Appium Server:
Using below code, we can start Appium server automatically without manual intervention.
Stop Appium Server:
Using below code, we can stop the Appium server automatically without manual intervention.
We have more tips to share, so feel free to reach out to us to inquire. Happy testing!