So far in the XCUITest 101 series, we have written some XCUITests and explored the XCUITest API. The next step is to run them for continuous testing so that we can get instant feedback on our latest code. The practices of Continuous Integration allow us to schedule and run the test on a regular basis or whenever there is code change. In this post, we will explore how to use XCUITest tests on a continuous integration server.
So far we have covered most of the topics around setting up XCUITest framework and making it scalable and maintainable. However, we haven’t covered the XCUITest API and the other features of XCUITest framework that we can use in our iOS app testing. In this post, we will cover the basics of XCUITest API and how to utilize those API to write UI tests for iOS apps.
In the last post, we have touched upon some best practices of organizing XCUIElements for scalable UI tests with Swift enumeration. While architecting iOS app testing with XCUITests for iOS devices with different screen sizes, we should also consider the scalability and maintainability of our code. We have to make sure XCUITest tests would run flawlessly on all iOS variants without causing a lot of code duplication by architecting XCUITest tests in a proper manner. In this post, we will see some best practices of architecting XCUITests for different screen sizes.
In the last post, we organized XCUITest tests in the BDD format by writing Swift extensions in the form of Step Definitions so they are more readable and scalable for iOS app testing. XCUITest identifies the element on the screen by using XCUIElement class. At the moment, we have our locators placed in the step definitions, which means when UI changes in the main app, we have to update all instances of locators from the step definitions. This isn’t a great approach to organizing XCUIElement in the test framework. In this post, we will explore the options of organizing UI elements for XCUITests and why Swift enumeration is the best strategy.
In our previous post on setting up XCUITest framework, we got up and running with a sample XCUITest with Xcode 10. Apple’s XCUITest framework gives us an ability to record the basic user journeys to get started with XCUITest, but the recorded tests are not scalable and reusable. We have to take efforts to make the XCUITest more readable, scalable, maintainable and reusable.
We are excited to bring you the news that iOS 11 devices are available for iOS test automation on Bitbar Cloud. It’s time to incorporate more iPhones and iPads in your device list for iOS app testing that enlarges your test coverage and improves your confidence before shipping your iOS applications to end users. Sign up now and check if your apps work on iOS 11 devices.
Dear Bitbar Testing users,
There will be a big change related to our iOS capabilities during the next release update. The release is scheduled to start on next Tuesday May 23rd at 11PM PST / Wednesday May 24th at 8AM CET. And it takes about 2 hours for the update and maintenance.
Containers have been trending for some time now and have seriously changed the way people set up their environments for development, deployment – and more and more – for testing. Efficient use of test automation together with containers – whether app is done for Android and iOS – have enabled a variety of different setups to become alive (and die) quickly, effectively and yet boosting productivity that people seek with their development workflows today.
In this blog, we’ll take a look at a very concrete example of iOS containerization, how to set up things on the fly and how to further tweak it for an optimal use case.
Thank you all for attending our latest webinar – Getting Started with XCTest/XCUITest for iOS App Testing. Although XCTest/XCUITest is not new to iOS developers, it is one of the hottest open source test automation framework for iOS app testing.
There are very few test automation frameworks that are tightly coupled with the development tool itself. XCTest framework is one of those frameworks that enable its users to write basic unit, performance and some level of UI tests for iOS apps.