iOS15下XCUITest元素层级树不显示Cell的Selected选中状态
解决方案
这是Xcode 13搭配iOS 15模拟器时的XCUI框架已知打印bug,核心是po XCUIApplication()的层级树输出漏了选中标识,Cell本身的选中状态属性是正常的,可按以下优先级处理:
- 优先升级Xcode到13.4.1及以上版本,同时使用iOS 15.4及更高版本的模拟器,苹果官方已在该版本修复了这个打印异常问题,升级后即可正常在层级树中看到
Selected标识。 - 若暂时无法升级开发环境,可使用以下替代方案:
- 调试时单独查询指定Cell的选中状态,执行命令
po 目标Cell元素.isSelected,可直接返回布尔值确认是否选中,返回值准确性不受打印bug影响 - UI测试用例中判断选中状态直接使用
XCTAssertTrue(目标Cell元素.isSelected)断言即可,属性取值完全正常 - 需批量查看当前页面所有选中Cell时,执行命令
po XCUIApplication().cells.allElementsBoundByIndex.filter { $0.isSelected },会直接输出所有处于选中状态的Cell列表
- 调试时单独查询指定Cell的选中状态,执行命令
内容的提问来源于stack exchange,提问作者reutsey
相关产品推荐
相关产品推荐

