我正在尝试实施一个非常简单的测试,但我坚持使用XCUIElementQuery.matching(identifier:)方法。我认为查询UIImageView
s没有按预期工作,但不确定原因。
我为视图设置了这两个设置:
我有这个测试:
func testRecording() {
XCTAssertEqual(app.staticTexts.matching(identifier: "label").count, 2)
XCTAssertEqual(app.images.matching(identifier: "accept").count, 1)
}
我正在查询这两个视图(标识为label
的标签和标识为accept
的UIImageView)。从这里开始:app
被简单地定义为类属性,如下所示:let app = XCUIApplication()
。
这意味着此测试应该通过,因为屏幕上有两个标识为staticText
的{{1}}和一个标识为label
的{{1}}。 image
成功查询accept
,但staticText
尝试查询ID为matching(identifier:)
的{{1}}时失败:
我尝试查询许多内容,例如:
image
accept
app.images.
app.tables.
app.tables.images.
(在辅助功能设置的Traits部分中也标记为app.tables.cells.images.
)app.buttons.
(在辅助功能设置的Traits部分中也标记为Button
)但没有运气......我在这里做错了什么,或者遗漏了什么?
答案 0 :(得分:0)
好的,因为我在QA团队中,所以我对开发代码并不了解。但是当我这样做时,我找到了答案。
用于显示复选标记的UIImageView永远不会从.xib文件中使用,而是总是分配一个新的实例,如下所示:
indicatorView = UIImageView(image: #imageLiteral(resourceName: "arrow_marked_ok_small"))
意味着使用初始化程序调用设置了新的辅助功能选项,以便覆盖在前两个映像中发布的.xib文件中具有辅助功能选项的旧UIImageView实例。