【发布时间】:2017-05-27 19:59:55
【问题描述】:
我遇到了这样一种情况,在没有生成断言的情况下,我无法让包含 UIPickerView 的视图控制器工作的 XCUITest。导致断言的问题显然是由于 XCUITest 使用的可访问性功能将虚假的“n 中的 1”附加到每个选择器值。
像这一行这样简单的东西会在测试期间断言
[app.pickers.pickerWheels.element adjustToPickerWheelValue:@"ANYVALUE"];
这原来是 Xcode 的一个已知错误,并且有一个开放的雷达Cannot use UI Testing to adjust pickerView which uses a view-based delegate
这正是我的问题,因为我使用 viewForRow: 委托以便在选择器值中使用属性字符串。使用 titleForRow: 委托的替代方法不会出现问题。
我曾尝试通过手动设置辅助功能信息来解决此问题,但无济于事。
由于我的客户对属性文本的要求,我不能考虑使用 titleForRow: 委托。
然而,作为另一个客户要求,还要为所有视图提供完整的 XCUITests。
有哪些可行的解决方法?
【问题讨论】:
标签: objective-c xcode8 uipickerview xcode-ui-testing