mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-21 12:20:48 +02:00
feat(ios-qa): add XCUITest execution-plan module
Standalone planner that turns the IOSQAFlow JSON contract into an xcodebuild XCUITest invocation for simulator or physical device, using semantic selectors (identifier/role/label) and no coordinate taps. Pure plan generation; covered by 7 unit tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
a84a6e233d
commit
466b1ec744
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"version": 1,
|
||||
"name": "swiftui-gallery-smoke",
|
||||
"bundleIdentifier": "com.gstack.iosqa.adaptive.swiftui",
|
||||
"steps": [
|
||||
{ "id": "launch", "action": "launch" },
|
||||
{
|
||||
"id": "increment",
|
||||
"action": "tap",
|
||||
"selector": { "identifier": "swiftui.increment", "label": "Increment", "role": "button" },
|
||||
"verify": {
|
||||
"kind": "labelEquals",
|
||||
"selector": { "identifier": "swiftui.count", "role": "staticText" },
|
||||
"value": "Count: 1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "search",
|
||||
"action": "typeText",
|
||||
"selector": { "identifier": "swiftui.search", "label": "Search terms", "role": "textField" },
|
||||
"text": "adaptive",
|
||||
"verify": {
|
||||
"kind": "labelEquals",
|
||||
"selector": { "identifier": "swiftui.echo", "role": "staticText" },
|
||||
"value": "Echo: adaptive"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "open-sheet",
|
||||
"action": "tap",
|
||||
"selector": { "identifier": "swiftui.sheet.open", "role": "button" },
|
||||
"verify": {
|
||||
"kind": "exists",
|
||||
"selector": { "identifier": "swiftui.sheet.content" },
|
||||
"timeoutMs": 2000
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "close-sheet",
|
||||
"action": "tap",
|
||||
"selector": { "identifier": "swiftui.sheet.done", "role": "button" },
|
||||
"verify": {
|
||||
"kind": "notExists",
|
||||
"selector": { "identifier": "swiftui.sheet.content" },
|
||||
"timeoutMs": 2000
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user