Part of AI Career Booster Path
iOS Test Automation with XCUITest
Master XCUITest for UI functional testing in this course designed for software professionals. Learn Swift basics, setup projects, improve stability, implement best practices like Page Objects, and leverage advanced features of XCUITest Library. Gain valuable insights for maintainable, scalable, and fast XCUItests. Elevate your skills and take on quality responsibilities.

Course content
4.2 Page Object
4.3 Base Screen & Base Test
4.4 Screen State
4.5 Enums in Action
4.6 Tabbar Protocol
4.7 Back Navigation with Generics
4.8 Challenge
5.1 Find by Index
5.2 Optimizations & API Wrapper
5.3 Handling Location Alerts
5.4 WebViews - Automating Facebook Authentication
5.5 Deleting App Under Test
5.6 Introduction to Launch Arguments - Facebook Logout
5.7 Working with Date Object
5.8 Activities, Attachments, Screenshots
5.9 Challenge
6.2 Postman
6.3 Charles
6.4 Facebook Auth
6.5 SBTUITestTunnel
6.6 Stub Test
6.7 Negative Test
6.8 Analytics
6.9 Intro to Stub-Recorder
6.10 Recording a test with Stub-Recorder
6.11 Stub-Recorder vs SBTUITestTunnel
Run Tests in CI
Test Plan
Xcode Build
Run Tests on Real Device
Allure report integration with XCUITest
Introduction to Test Sharding and Scalable Test Infrastructure
Marathon Set Up
Testing on Marathon Cloud Runner
Xcodebuild commands
Introduction to GitHub Copilot
Copilot set up
How to create a new test
How to debug with Copilot
Copilot limitations
Copilot is just a helper
Engenious University reserves the right to change the modules' order to ensure the most efficient education process.
Description
Whether you are in software development, testing or operations, every team member is now responsible for quality. This shift has led to the rise of new test automation frameworks such XCUITest, which is now part of the XCode toolset. This course not only focuses on the fundamentals of the Swift programming language but also walks students throughout the enterprise level setup. If you were planning to learn how to develop UI functional tests for iOS/MacOSX/AppleTV/Apple Watch app, this is a great opportunity to dive into the world of XCode and XCUITest Library. 6 complete modules, will focus on: - Swift basics of Object-Oriented programming, so later you may focus on tasks rather than programming basics - Setup test project from scratch in XCode - Integrate Accessibility Identifiers in-app code for testability - Improve test stability by cleaning up application data via AppDelegate - As we progress, we will refactor tests with industry best practices to make tests more resilient using Page Objects pattern by using Protocols, Extensions, Delegates, ENums and Generic - Intro to RestApi - Make tests more stable with the mock server (every company wants this skill nowadays) - Automating App Analytics ( number one desired test coverage by company’s executives - Decorate tests with advanced features of XCUITest Library such as Async Wait, First Match API, Activities, Attachments, and Screenshot We will share with you all secret recipes acquired via years of experience on how to make XCUItests maintainable, scalable, and fast.
What you'll learn
- Learn the fundamentals of the Swift programming language Develop UI functional tests using XCUITest library Integrate Accessibility Identifiers in-app code for testability Building scalable architecture using Page Object Model and mocking network services Decorate tests with advanced features of XCUITest Library such as Async Wait, First Match API, Activities, Attachments, and Screenshots
Your Instructors
Who this course is for
- Suitable for QA engineers who would like to learn native iOS test automation or students
System requirements
For this course, you would need to have Mac with minimum hardware requirements: Note that iOS development and testing can only be done on Mac. Either of Mac machines would work – Macbook Pro, Macbook Air, or Mac mini. Processor M1 Ram 16gb macOS Ventura 13.3 You will also need to have an account in Discord as all of the important information about the course and the student community

Engenious Discord Community
Get help, share knowledge, and grow faster with other QA engineers.
FAQ
You will be coding in XCode environment using Swift programming language
There are 6 modules in the iOS Test Automation with XCUITest. You can go through the videos at your own pace.
Yes, in some modules you will find practicing files in the “Additional resources” section. You can download them and try coding by yourself. The lectures with the description of the topic you will find in “Lectures” section under the respective number
Having a physical device is always a plus but not necessary since we may use an emulator/simulator instead.
Yes, the course language is English.
We have a dedicated instructor, who will answer your questions within 24 hours. Join our Discord community and contact us anytime in the dedicated private Discord chat.
You can find out about our company through the website: https://university.engenious.io/ .
No, this is not mandatory as we’ve included all the information from the beginners course in the Advanced course.
Join our FREE Discord community: https://discord.com/invite/uXZdZjFcjB and feel free to ask questions in the dedicated channels and connect with other students.
Having previous exposure to coding in any programming language is a big plus but not a prerequisite for this course. However, we highly recommend to start with Intro to AI-Driven iOS Test Automation Using XCUITest

