我正在针对iOS应用程序在Swift中编写UI测试,该应用程序包含UITableView
,其中包含从笔尖加载的自定义UITableViewCell
。该单元格包含UIImageView
和UILabel
。
渲染表格时,没有找到图像元素的XCUIElementQuery
。如何在UI测试期间访问ImageView以了解图标字段中指定的图像的来源?
class MyCell: UITableViewCell {
@IBOutlet var name: UILabel!
@IBOutlet var icon: UIImageView!
}
图片未显示在app.images
,app.tables.cells.images
或app.tables.cells.otherElements
中。似乎在UI层次结构中找不到图像图标。
答案 0 :(得分:2)
现在已经很晚了,但其他用户......
我解决了它如下:
self.tableView.accessibilityIdentifier = "ExampleTableView"
<强> cell.icon.isAccessibilityElement = true
强>
let imageName = "example_image"
cell.icon.accessibilityIdentifier = "ExampleTableViewCellIcon"
cell.icon.accessibilityLabel = imageName
cell.icon.image = UIImage(named: imageName)!
XCTAssert(app.tables["ExampleTableView"].cells.element(boundBy: 0).images[ExampleTableViewCellIcon].label == "example_image")
答案 1 :(得分:0)
在UI测试中无法访问图像的路径。框架将用户视为应用程序,为什么有人会关心复选标记的文件名?
更新:要将用户界面/辅助功能与不同的图标相关联,您可以在设置图像时设置辅助功能标识符。
MyCell().icon?.accessibilityIdentifier = "check"