In 2016, Apple sold its billionth mobile phone. By January 2019, 900 million people were actively using iPhones in their daily lives. In 2021, that figure had risen to 1.65 billion, and it continues to rise from year to year.
On top of that, these numbers only apply to the iPhone. iOS devices also included the iPad (prior to iPadOS) and there were over 500 million on the market. Devices can vary greatly in technical specifications and processor power. But the main thing is that they have different screen sizes, which is the main problem when working with iOS applications.
Testing an iOS app manually is time-consuming, as testing will need to be done separately on each device. Those who develop iOS apps understand this situation better than anyone. These problems are solved by frameworks for iOS testing. They are designed to make the process easier.
A testing framework is a tool to help you do it effectively. These tools provide additional features such as easy access to Apple APIs, analysis of test objectives, collaboration with other testers, screenshots, project file organization, and detailed reporting. All this takes a lot of time with manual testing. You will learn about the features and benefits of various frameworks for iOS testing in the following sections.
Below we present some of the best iOS testing frameworks that are currently popular among testers:
In the test community, Appium is a well-known open-source test automation framework. The popularity of Appium is due to its flexibility and capability to test both iOS and Android programs.
As the official website says, Appium is built on the idea that native app testing should not require an SDK to be installed. iOS testing in Appium is done with JSONWire Protocol and Selenium WebDriver.
Pros of Appium:
- since WebDriver is used, Appium supports most programming languages
- thanks to the open-source code, the framework boasts a large and active community
- you are free to use any browser that works with native applications on Android and iOS, as well as with mobile web testing
- the same API for test automation for Android and iOS
- everything out of the box — Appium does not require installation of other software
- both emulators and real devices can be used with Appium
- integrates well with CI/CD tools
- you need to ensure that all open-source packages installed in Appium have compatible versions
- high entry threshold
- slow test execution on iOS
Appium is a great and very popular testing tool for both iOS and Android. It is used for a long time and has good support. It is open-source and is able to perform most of the tasks required by a tester. However, Appium is not suitable for novice testers and those who do not want to study its settings for a long time. It works slowly on devices with a large screen resolution.
TestProject is an iOS testing framework based on Appium and Selenium. Suitable for testing web, Android apps, and APIs. You don’t have to use Xcode to use it. To utilize this module, you need a TestProject agent and an Apple developer account for physical devices or macOS, as well as Xcode for simulators.
Pros of TestProject:
- low entry threshold
- fast test execution
- support for iOS devices and simulators
- a minimum of settings is required to start, so you can quickly get to work
- includes the TestProject recorder, equipped with an element locator and artificial intelligence technology, which increases the efficiency of testing
- can be run on different operating systems
Cons of TestProject:
- documentation is sometimes released late. Sometimes you will have to study the tool yourself or contact support
- programming skills are required to develop your own extensions
EarlGrey is an open-source tool developed by Google to test their own iOS apps like YouTube, Google Calendar, etc. EarlGrey 1.0 is now officially deprecated and version 2.0 is recommended for now.
With EarlGrey 2.0, testers can combine EarlGrey tests with XCUITest, which is officially recommended by Apple. Also, as stated in the Google presentation, EarlGrey 2.0’s goal is user interface testing, not unit tests as in EarlGrey 1.0.
Pros of Earl Grey:
- it can automatically synchronize with the network and user interface components
- tests can be run directly from XCode or via the command line
Cons of Earl Grey:
- some APIs may require you to write code
- Google collects test execution data and other analytics. This can be disabled, but not everyone knows about it
EarlGrey is a great iOS app testing tool. It integrates easily with other Google apps
Automated testing began to dominate the market due to the rapid execution of tests. Automation today is a large section of testing that covers many frameworks with their strengths and weaknesses.
We believe that the pros and cons of the software can be different — they depend on specific users. If a tester is proficient in Objective-C, they will happily choose an iOS testing framework that supports Objective-C (even if it is the only supported language).