名称: xctest-ui-test-generator 描述: 为macOS应用程序生成带有无障碍标识符和页面对象模式的XCTest UI测试 允许使用的工具: 读取, 写入, 编辑, Bash, Glob, Grep 标签: [macos, xctest, ui测试, swift, 测试]
xctest-ui-test-generator
为macOS应用程序生成XCTest UI测试。此技能创建包含无障碍标识符、页面对象模式和适当测试组织的UI测试类。
功能
- 生成XCUITest测试类
- 创建页面对象模式实现
- 设置无障碍标识符
- 生成测试数据工厂
- 配置UI测试方案
- 创建截图捕获助手
- 设置性能测试
- 生成测试计划
输入模式
{
"type": "object",
"properties": {
"projectPath": { "type": "string" },
"targetViews": { "type": "array" },
"usePageObjects": { "type": "boolean", "default": true },
"generateAccessibilityIds": { "type": "boolean", "default": true }
},
"required": ["projectPath"]
}
生成的测试类
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))
}
}
相关技能
swiftui-view-generatordesktop-ui-testing流程