如何在 XCUITest 中使用 perform(withKeyModifier:block:) 函数执行 multi-select

how to perform multi-select with perform(withKeyModifier:block:) function in XCUITest

我想在 webview 上添加多个-select 某些元素,因此我需要使用 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({ [=10=].tap() })
}

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

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