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