ChimeHQ / UITestingPlus

Utilities for working with XCUI testing
BSD 3-Clause "New" or "Revised" License
38 stars 2 forks source link
macos swift uitesting xctest

License Platforms Documentation

UITestingPlus

Utilities for working with XCUI testing.

Integration

dependencies: [
    .package(url: "https://github.com/ChimeHQ/UITestingPlus", branch: "main")
]

XCUIApplication Extensions

Menus

var windowMenuItemTitles: [String]
var windowMenuItemWindowTitles: [String]
var recentMenuItemTitles: [String]

Windows

func launchWithNoWindows()
func closeExistingWindows()
var frontWindow: XCUIElement
func resetLaunchEnvironmentAndArguments()
func quit()

Documents

func saveFrontmostDocument() throws
func closeFrontmostDocument() throws
func createNewDocument() throws
func saveDocument(in window: XCUIElement) throws
func saveDocument(in window: XCUIElement, to url: URL, overwrite: Bool = true) throws
func openDocument(with url: URL) -> XCUIElement

Built-in Applications

static let springboard: XCUIApplication
static let safari: XCUIApplication
static let settings: XCUIApplication
static let files: XCUIApplication
static let photos: XCUIApplication

XCUIElement Extensions

Text Editing

func replaceTextWith(_ string: String)
func replaceTextWithPasteboard()
func appendText(_ string: String)
func deleteText()

func stringValue(in range: NSRange? = nil) throws -> String
func navigateTextView(to line: Int, column: Int) throws

Existance

func waitForNonExistence(timeout: TimeInterval) -> Bool

Classes

Suggestions or Feedback

We'd love to hear from you! Get in touch via an issue or pull request.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.