swift - 如何使用 Perform(withKeyModifier :block:) function in XCUITest

标签 swift xctest xcode-ui-testing

我想在webview上多选某个元素,因此我需要使用XCUIElement的perform(withKeyModifer:block:)函数,有人可以举例说明如何使用此函数吗?我是 swift 新手,所以请详细说明代码,提前致谢!

最佳答案

当按下修饰键时,您可以使用该方法执行一些代码。您指定修饰键并传入一段代码,以便在按下修饰键时执行。您可以使用尾随闭包语法,如下所示:

let app = XCUIApplication()

// elements you want to select
let element1 = app.cells.element(boundBy: 0)
let element2 = app.cells.element(boundBy: 1)
let elementsToSelect = [element1, element2]

XCUIElement.perform(withKeyModifiers: XCUIElement.KeyModifierFlags.command) {
    // code in this block executes while the command key is down
    // select each element
    elementsToSelect.forEach({ $0.tap() })
}

如果您正在测试桌面应用程序,则应使用 click() 而不是 tap()

使用此处列表中所需的任意修饰键:https://developer.apple.com/documentation/xctest/xcuielement.keymodifierflags

关于swift - 如何使用 Perform(withKeyModifier :block:) function in XCUITest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46211909/

相关文章:

swift - XCode 错误导入库

ios - 使用 | 找到了哪个 NSRegularExpression运算符(operator)

ios - Sprite Kit 相机平滑移动延迟

xcode - 如何使用 XCTest 在 Xcode 中测试 Swift 文件而无需构建整个应用程序?

ios - iPhone模拟器 : is booted but getenv returned nil for test connection socket path

ios - Alamofire 概括请求

ios - XCUITest等待可能出现的元素

ios - Swift - 在 Xcode 中内联显示断言失败,如 XCTest 失败?

ios - 使用 XCUI 进行两指旋转

iOS:如何断言在 UITest 中选择了一个单元格?