好的,我在这里画一个空白。第一个条件是真的,第二个不是我运行它。怎么会这样?
我正在使用最新的xcode,最新的操作系统。
XCUIApplication * app = [[XCUIApplication alloc] init];
XCUIElement * usernameTextField = app.textFields [@"用户名"];
if (usernameTextField.exists) {
NSLog(@"condition returns true");
}else if ( usernameTextField.hittable){
NSLog(@"doesn't execute");
}
[usernameTextField tap]; 当我点击它时,应用程序失败: UI测试活动: 断言失败:UI测试失败 - 应用程序无法在30.0秒内停顿
有什么想法吗?
答案 0 :(得分:0)
Hittablility指示是否可以使用给定点处理手势。
鉴于UI测试将视图层次结构扁平化为基于查询的系统,这只意味着如果视图的一部分在屏幕上,则它是可命中的,否则它是不可命中的。
例如,如果我有一个UITableView
有一堆单元格,那么你可以在屏幕上看到的第一个单元格是可命中的。由于屏幕不亮而无法看到的最后一个单元格不可用。
元素仍然可以存在于坐标空间中并且在屏幕外。在前面的示例中,长表视图的最后一个单元格仍然存在,只是无法与它进行交互。