Apple has launched Xcode UI Testing solution in WWDC15, since then it is becoming the first choice for iOS developers to write unit and UI tests using the same framework. Previously, the frameworks like Appium and Calabash being used by QA engineers to automate iOS application testing. These frameworks allow writing user interface tests using crazy languages like Java, Ruby and many more which have nothing to do with iOS app development. Although, Appium and Calabash become popular in the QA world. It never got attention from any iOS developers which created huge technology gap between developers and testers. The XCUITests from Apple come allows developers to write tests in the Swift or Objective-C which helps to bridge the technology gap and create UI tests easier and faster than ever.
There are so many cloud testing services available in the market to execute tests in the cloud machines for web applications e.g Sauce Labs, BrowserStack etc. Initially, very few services paid an attention the XCUITests as lots of companies still using tools like Appium and Calabash and they already supported these tools to run tests in the cloud. However, iOS 10 release changed everything as Apple deprecated instrumentation technology on which tools like Appium and Calabash were based. This broke all the mobile test automation frameworks and have to use Apple new technology which is XCUITest. Companies then started using XCUITest directly and it started gaining popularity. The cloud testing vendors also need to add support to stay competitive in the market. In this post, we will see what are options to run XCUITest on the real devices in the cloud. Note that, this post is not about the comparison of services in terms of speed, price, or usage.
Bitbar has device cloud specifically design for the mobile test automation with devices in multiple data centers across Europe. Being the mobile-only testing services, Bitbar is one of the pioneers in supporting XCUITests in the cloud. They are writing about the XCUITest and iOS automation since long on their official blog. They have integrations with mobile DevOps tools and remote debugging capability. You can try out Bitbar for free for certain period. Bitbar has great clients including Microsoft, Skype, EA, Asus, Paypal, T-Mobile and many more.
2. AWS Device Farm
Amazon Web Services provides various software development services including Device Farm for testing against real mobile devices in the AWS cloud. AWS Device farm has great documentation on how to execute tests using various frameworks including XCUITest. We can use AWS service with our free tier account for trial. AWS Device Farm has been used by multiple clients including Etsy.
Perfecto is another option for cloud-based continuous testing of mobile, web apps. Perfecto provides support to execute XCUITests in the real device cloud. They have great information about documentation, video, and code samples on their various services including XCUITest service. You can read more about configuring XCUITests for Perfect cloud here. Perfecto has the wide variety of client using their services. There is list more than 100 clients mentioned here.
BrowserStack is another service which recently announced the support of running XCUITests on their real device cloud. There is documentation on how to setup XCUITests on the BrowserStack here They also shared code sample of configuring XCUITests on with sample iOS project here
5. Sauce Labs
Sauce Labs is very active in the community of the test automation and host multiple events and conferences. Sauce Labs is continuous testing cloud provides real devices to execute tests. Sauce Labs has recently announced support to execute XCUITests on their cloud. There will be documentation on XCUITest on wiki soon. They have also organized the webinar on configuring XCUITest on real device cloud. You can watch the full webinar online here
Sauce Labs being very popular in the community, they have so many clients using their services.
As XCUITest getting popular, many cloud testing services started supporting XCUITest on their real device cloud. It’s the good opportunity for the companies to make use of the devices in the cloud. In the later posts, I will compare each service individually and share my opinions about them.