ui-testing

Automate iOS UI tests with condition-based waits and interaction recording.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/derKlinke/codex-config --skill ui-testing-derklinke
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ui-testing
Source: https://github.com/derKlinke/codex-config/tree/main/skills/ios-ui-testing
Command: npx skills add https://github.com/derKlinke/codex-config --skill ui-testing-derklinke

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps engineers stabilize iOS UI tests by reducing flakiness through condition-based waiting, avoiding arbitrary sleeps, and enabling reliable recording workflows.

Core Features & Use Cases

  • Condition-based waiting patterns to replace fixed timeouts and improve test reliability across devices and OS versions.
  • Recording UI automation sessions (Xcode 26) to generate reusable Swift test code and replay interactions on multiple devices and languages.
  • Accessibility-first testing patterns and built-in debugging aids (video review, overlays) to accelerate failure analysis.
  • Network conditioning and multi-configuration test plans to surface timing-related issues early.

Quick Start

Start a new UI Test target in Xcode, enable the Recording UI Automation workflow, and begin recording a user journey to capture stable queries and assertions.

Frequently Asked Questions about ui-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I stop XCTest UI tests from being flaky?

To stop XCTest UI tests from being flaky, replace arbitrary sleeps and fixed timeouts with condition-based waiting patterns. This ensures tests only proceed when specific UI conditions are met, improving reliability across different iOS devices and OS versions.

How do I record UI automation sessions in Xcode 26 to generate Swift test code?

Recording UI automation sessions in Xcode 26 captures your interactions and generates reusable Swift test code. You start a new UI Test target, enable the recording workflow, and perform a user journey to automatically create stable queries and assertions for replay.

Does the condition-based wait approach require accessibility identifiers in my iOS app?

Yes, condition-based wait patterns require access to accessibility identifiers. Using accessibility-first testing patterns allows the framework to reliably locate UI elements, generate stable queries, and perform built-in accessibility auditing during your test runs.

What is the best way to diagnose flaky UI tests across multiple devices?

The best way to diagnose flaky UI tests is using built-in debugging aids like video review and overlays. Additionally, you can run multi-configuration test plans with network conditioning to surface timing-related issues early and analyze failures across multiple devices and languages.

Can I use network conditioning to surface timing issues in iOS UI testing?

Yes, you can use network conditioning to surface timing-related issues in iOS UI testing. By applying multi-configuration test plans and simulating various network conditions, you can identify and resolve timing-related flakiness before it impacts users.

Do I need a specific Xcode UI testing target to automate reliable iOS UI tests?

Yes, you need an Xcode UI testing target to automate reliable iOS UI tests. Setting up a dedicated testing target is a prerequisite to enable cross-device recording, condition-based waiting, and network-conditioned scenarios for your XCTest-based UI tests.