如何在 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
我想在 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