writing-ui-tests

Generate deterministic XCUITest UI tests for FitnessApp user flows.

2|1|Updated Apr 13, 2025
One-click install
npx skills add https://github.com/Jose-Luis-Nunez/FitnessApp --skill writing-ui-tests
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: writing-ui-tests
Source: https://github.com/Jose-Luis-Nunez/FitnessApp/tree/main/.cursor/skills/writing-ui-tests
Command: npx skills add https://github.com/Jose-Luis-Nunez/FitnessApp --skill writing-ui-tests

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Create new XCUITest UI tests for the FitnessApp project. Use when the user asks to create, write, or add a new UI test, test a new feature, add test coverage for a screen, or add accessibility identifiers for testing.

Core Features & Use Cases

  • Follow ui-test-conventions, including DSL, constraints, template, and naming standards.
  • Map user flows to NavigationDestination and verify interactive elements across screens using accessibility identifiers.
  • Extend or validate test coverage for new features, and ensure tests remain deterministic and maintainable.

Quick Start

Create a new XCUITest UI test for a feature by following the ui-test-conventions and template provided.

Frequently Asked Questions about writing-ui-tests

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

FAQPage Schema
How do I write deterministic XCUITest UI tests for iOS features?

To write deterministic XCUITest UI tests, generate tests using a BaseTest-derived template and inject mock data via TestExerciseFixture with explicit accessibility identifiers and test constants to validate user flows.

When do I need to add accessibility identifiers for UI testing?

You need to add accessibility identifiers for UI testing when mapping user flows to NavigationDestination and verifying interactive elements across screens, ensuring tests remain deterministic and maintainable.

Can I use this to add test coverage for a new iOS screen?

Yes, you can extend test coverage for new iOS features by applying ui-test-conventions, including DSL, constraints, template, and naming standards to validate UI changes across screens.

What conventions should XCUITest tests follow for maintainability?

XCUITest tests should follow ui-test-conventions, including DSL, constraints, BaseTest-derived templates, and naming standards, while using TestExerciseFixture mock data with explicit IDs and test constants.

Does this approach validate user flows across multiple iOS screens?

Yes, this approach validates user flows across multiple iOS screens by mapping them to NavigationDestination and verifying interactive elements using accessibility identifiers within the XCUITest framework.

Why do my XCUITest UI tests fail to remain deterministic?

XCUITest UI tests fail to remain deterministic when they lack explicit mock data via TestExerciseFixture, explicit accessibility identifiers, and test constants defined within a BaseTest-derived template.