我正在尝试验证我的 XCTests 代码是否选中了复选框。我看到该复选框在 UI 中处于选中状态,但我的代码返回"否"感谢帮助。下面是我的代码
XCUIElement *checkBox = [[[[textField childrenMatchingType:XCUIElementTypeOther] elementBoundByIndex:1] childrenMatchingType:XCUIElementTypeButton] elementBoundByIndex:1];
BOOL isChecked = checkBox.isSelected;
is选中即使选中复选框也返回"否">
自从我玩 XCTests 以来已经有一段时间了,但我想我使用了类似 [checkBox.value boolValue]
的东西。
此isSelected
属性用于辅助功能。 它不指示是否选中了该复选框。它基本上返回在打开辅助功能时当前是否选择了控件(例如,对于视觉障碍的用户,iOS 将在屏幕上选择控件并将其读给用户(。
您似乎已使用UIButton
创建了自己的复选框,以提供类似复选框的功能。 如果已创建自己的自定义控件来切换 UIButton 的状态,则还必须实现一种存储选择状态的方法。 如果不看到你的实现的其余部分,我们任何人都无法知道如何获得状态。
我建议使用 UISwitch
控件,它以本机、一致的方式提供所需的功能。 如果你这样做,这将是一个简单的测试:
BOOL isChecked = [switch isOn];