xctest-ui-test-generator

SkillDev tools

Generate XCTest UI tests for macOS applications with accessibility identifiers and page object patterns

Use xctest-ui-test-generator in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add xctest-ui-test-generator and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the xctest-ui-test-generator skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

xctest-ui-test-generatorStart free

What this skill tells your AI

The instructions your AI receives, as published by a5c-ai/babysitter in library/specializations/desktop-development/skills/xctest-ui-test-generator/SKILL.md and read by Ahel’s review.

Generate XCTest UI tests for macOS applications. This skill creates UI test classes with accessibility identifiers, page object patterns, and proper test organization.

Capabilities

  • Generate XCUITest test classes
  • Create page object pattern implementations
  • Set up accessibility identifiers
  • Generate test data factories
  • Configure UI test schemes
  • Create screenshot capture helpers
  • Set up performance testing
  • Generate test plans

Input Schema

{
  "type": "object",
  "properties": {
    "projectPath": { "type": "string" },
    "targetViews": { "type": "array" },
    "usePageObjects": { "type": "boolean", "default": true },
    "generateAccessibilityIds": { "type": "boolean", "default": true }
  },
  "required": ["projectPath"]
}

Generated Test Class

import XCTest

final class MainViewUITests: XCTestCase {
    var app: XCUIApplication!

    override func setUpWithError() throws {
        continueAfterFailure = false
        app = XCUIApplication()
        app.launchArguments = ["--uitesting"]
        app.launch()
    }

    func testMainViewLoads() throws {
        let mainView = app.windows["MainWindow"]
        XCTAssertTrue(mainView.waitForExistence(timeout: 5))

        let titleLabel = mainView.staticTexts["welcomeLabel"]
        XCTAssertTrue(titleLabel.exists)
        XCTAssertEqual(titleLabel.label, "Welcome")
    }

    func testNavigationToSettings() throws {
        app.menuItems["Preferences…"].click()
        let settingsWindow = app.windows["SettingsWindow"]
        XCTAssertTrue(settingsWindow.waitForExistence(timeout: 2))
    }
}

Related Skills

  • swiftui-view-generator
  • desktop-ui-testing process

Signals

GitHub stars
2k
Forks
113
Last commit
Sep 2026
Advanced
Item type
skill
Key
xctest-ui-test-generator
Source
github.com/a5c-ai/babysitter