Xctest 在XCUITest中获取按钮状态

Xctest 在XCUITest中获取按钮状态,xctest,Xctest,如何在XCUITest中获取按钮状态 它只是一个NSButton,用作切换按钮。单击后图像会发生变化。在应用程序中,我使用返回0或1的button.state进行检查。根据值,我会更改图像 @IBAction func checkBoxClick(sender: NSButton) { print("Checkbox state ", sender.state) } 但是在编写XCUITest自动机代码时,我无法获取按钮的状态。没有像state这样的属性。另外,当我获取按钮的“valu

如何在XCUITest中获取按钮状态

它只是一个NSButton,用作切换按钮。单击后图像会发生变化。在应用程序中,我使用返回0或1的button.state进行检查。根据值,我会更改图像

@IBAction func checkBoxClick(sender: NSButton) {
    print("Checkbox state ", sender.state)
}
但是在编写XCUITest自动机代码时,我无法获取按钮的状态。没有像state这样的属性。另外,当我获取按钮的“value”或“selected”属性时,它总是给出nil和false

let window = XCUIApplication().windows["Window"]
    let button = window.buttons["Button"]
    button.click()
    print("Button selected ",button.selected)
    print("Button selected value ",button.value)
    button.click()
    print("Button unselected ",button.selected)
    print("Button unselected value ",button.value)
打印的值是

Button selected  false
Button selected value  nil
Button unselected  false
Button unselected value  nil

任何输入。

在应用程序代码中,您可以将0/1状态映射为选中/未选中。默认状态应为false,当切换该状态时,反转
发送方的状态。已选择的


selected
属性表示两种状态,并提供与添加的
.state
相同的功能。

在应用程序代码中,可以将0/1状态映射到selected/notselected。默认状态应为false,当切换该状态时,反转
发送方的状态。已选择的


selected
属性表示两种状态,并提供与添加的
.state
相同的功能。

感谢您的回复。如果(tempButton.state==nsstate){tempButton.setAccessibilitySelected(true)}或者{tempButton.setAccessibilitySelected(false)},我会这样做这是你的建议吗。它使用上述代码与我所说的略有不同,但这是一个很好的解决方案——可能是更好的方法(TBH.)谢谢你的回复。如果(tempButton.state==NSOnState){tempButton.setAccessibilitySelected(true)}或者{tempButton.setAccessibilitySelected(false)}是你建议的,我会这样做。它使用上述代码与我所说的略有不同,但这是一个很好的解决方案——可能是更好的方法(TBH.)