testing:like all fail
This commit is contained in:
86
GazeUITests/AccessibilityUITests.swift
Normal file
86
GazeUITests/AccessibilityUITests.swift
Normal file
@@ -0,0 +1,86 @@
|
||||
//
|
||||
// AccessibilityUITests.swift
|
||||
// GazeUITests
|
||||
//
|
||||
// Created by Mike Freno on 1/8/26.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
|
||||
@MainActor
|
||||
final class AccessibilityUITests: XCTestCase {
|
||||
|
||||
var app: XCUIApplication!
|
||||
|
||||
override func setUpWithError() throws {
|
||||
continueAfterFailure = false
|
||||
app = XCUIApplication()
|
||||
app.launchArguments.append("--skip-onboarding")
|
||||
app.launch()
|
||||
}
|
||||
|
||||
override func tearDownWithError() throws {
|
||||
app = nil
|
||||
}
|
||||
|
||||
func testMenuBarAccessibilityLabels() throws {
|
||||
let menuBar = app.menuBarItems.firstMatch
|
||||
if menuBar.waitForExistence(timeout: 5) {
|
||||
menuBar.click()
|
||||
|
||||
for button in app.buttons.allElementsBoundByIndex {
|
||||
XCTAssertFalse(button.label.isEmpty, "Button should have accessibility label")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func testKeyboardNavigation() throws {
|
||||
let menuBar = app.menuBarItems.firstMatch
|
||||
if menuBar.waitForExistence(timeout: 5) {
|
||||
menuBar.click()
|
||||
|
||||
app.typeKey(XCUIKeyboardKey.tab, modifierFlags: [])
|
||||
|
||||
let focusedElement = app.descendants(matching: .any).element(matching: NSPredicate(format: "hasKeyboardFocus == true"))
|
||||
XCTAssertTrue(focusedElement.exists || app.buttons.count > 0)
|
||||
}
|
||||
}
|
||||
|
||||
func testAllButtonsAreHittable() throws {
|
||||
let menuBar = app.menuBarItems.firstMatch
|
||||
if menuBar.waitForExistence(timeout: 5) {
|
||||
menuBar.click()
|
||||
|
||||
sleep(1)
|
||||
|
||||
let buttons = app.buttons.allElementsBoundByIndex
|
||||
for button in buttons where button.exists && button.isEnabled {
|
||||
XCTAssertTrue(button.isHittable || !button.isEnabled, "Enabled button should be hittable: \(button.label)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func testVoiceOverElementsHaveLabels() throws {
|
||||
let menuBar = app.menuBarItems.firstMatch
|
||||
if menuBar.waitForExistence(timeout: 5) {
|
||||
menuBar.click()
|
||||
|
||||
let staticTexts = app.staticTexts.allElementsBoundByIndex
|
||||
for text in staticTexts where text.exists {
|
||||
XCTAssertFalse(text.label.isEmpty, "Static text should have label")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func testImagesHaveAccessibilityTraits() throws {
|
||||
let menuBar = app.menuBarItems.firstMatch
|
||||
if menuBar.waitForExistence(timeout: 5) {
|
||||
menuBar.click()
|
||||
|
||||
let images = app.images.allElementsBoundByIndex
|
||||
for image in images where image.exists {
|
||||
XCTAssertFalse(image.label.isEmpty, "Image should have accessibility label")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user