Skip to content

Instantly share code, notes, and snippets.

@delasign
Created November 9, 2024 14:39
Show Gist options
  • Save delasign/40c86eb9b3d1e03ba3f7e0877348b1d9 to your computer and use it in GitHub Desktop.
Save delasign/40c86eb9b3d1e03ba3f7e0877348b1d9 to your computer and use it in GitHub Desktop.
Code for automating the opening of a folder in a UI Swift Test
import XCTest
func openFolderInOpenPanel(folderName: String) {
let openPanel = XCUIApplication().dialogs["open-panel"]
XCTAssertTrue(openPanel.exists, "Open Panel is visible.")
XCTAssertTrue(openPanel.isHittable, "Open Panel is hittable.")
let openPanelOpenButton = openPanel.buttons["OKButton"]
XCTAssertTrue(openPanelOpenButton.exists, "Open Panel Open Button is visible.")
XCTAssertTrue(openPanelOpenButton.isHittable, "Open Panel Open Button is hittable.")
let openPanelSearchBox = openPanel.searchFields.firstMatch
XCTAssertTrue(openPanelSearchBox.exists, "Open Panel Search Box is visible.")
XCTAssertTrue(openPanelSearchBox.isHittable, "Open Panel Search Box hittable.")
openPanelSearchBox.tap()
openPanelSearchBox.typeText(folderName)
let validFolder = openPanel.textFields[folderName]
wait(for: [
expectation(for: NSPredicate(format: "exists == true"), evaluatedWith: validFolder),
expectation(for: NSPredicate(format: "isHittable == true"), evaluatedWith: validFolder)
], timeout: 10)
validFolder.tap()
openPanelOpenButton.tap()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment