Part of AI Career Booster Path
Advanced 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.
Finished 0/34 lectures

Course content
1.3 What you should know
New Task
Last Task
3.2 Intro to Test Project
3.3 UiTesting Target Setup
3.4 First Test Recording
3.5 XCUITest APIs
3.6 Refactor First Test
3.7 Intro to Assertion
3.8 Accessibility Identifier
New Task
4.2 Page Object
4.5 Enums in Action
4.3 Base Screen & Base Test
4.1 Why Architecture
4.6 Tabbar Protocol
4.7 Back Navigation with Generics
4.4 Screen State
5.1 Find by Index
5.5 Delete App
5.6 Launch Arguments
5.3 System Alert Handling
5.8 Activities, Attachments, Screenshots
5.2 Optimizations & API Wrapper
5.7 Date Object
5.4 Web View
6.4 Facebook Auth
6.2 Postman
6.3 Charles
6.1 Live vs Mock UI tests
6.7 Negative Test
6.5 SBTUITestTunnel
6.6 Stub Test
6.8 Analytics
Intro to Xcode
Intro to Xcode
Postman collection
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
macOS:
Processor: Apple Silicon M1, M2, M3 or M4
Memory: 16 GB RAM (or higher)
Storage: 30 GB free SSD space
Note: Mac OS systems without an M chip are not supported

Engenious Discord Community
Get help, share knowledge, and grow faster with other QA engineers.
FAQ
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 iOS Test Automation for Beginners with XCUITest
No, this is not mandatory as we’ve included all the information from the beginners course in the Advanced course.
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.
You can find out about our company through the website: https://university.engenious.io/ .
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.
Join our FREE Discord community: https://discord.gg/WDCJSAZ8 and feel free to ask questions in the dedicated channels and connect with other students.

