import XCTest class HierarchyDumpTest: BaseUITestCase { override var seedFixture: String? { nil } func testDumpAccessibilityTree() { sleep(3) print("\n=== ELEMENT QUERIES ===") print("otherElements[mood_header]: \(app.otherElements["mood_header"].exists)") print("descendants[mood_header]: \(app.descendants(matching: .any)["mood_header"].firstMatch.exists)") print("groups[mood_header]: \(app.groups["mood_header"].exists)") print("scrollViews[mood_header]: \(app.scrollViews["mood_header"].exists)") print("staticTexts[mood_header]: \(app.staticTexts["mood_header"].exists)") print("buttons[mood_button_great]: \(app.buttons["mood_button_great"].exists)") print("tabBars count: \(app.tabBars.count)") if app.tabBars.count > 0 { let tb = app.tabBars.firstMatch for b in tb.buttons.allElementsBoundByIndex { print(" tab button: \(b.identifier) label=\(b.label)") } } print("otherElements[settings_header]: \(app.otherElements["settings_header"].exists)") print("\n=== HIERARCHY (first 200 lines) ===") let desc = app.debugDescription let lines = desc.components(separatedBy: "\n") for (i, line) in lines.prefix(200).enumerated() { print("\(i): \(line)") } XCTAssertTrue(true) // always pass } }