我想在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/