Назад към всички

xctest-ui-test-generator

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

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namexctest-ui-test-generator
descriptionGenerate XCTest UI tests for macOS applications with accessibility identifiers and page object patterns
allowed-toolsRead, Write, Edit, Bash, Glob, Grep
tagsmacos,xctest,uitesting,swift,testing

xctest-ui-test-generator

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