XCUIElementQuery.matching(identifier:) 不适用于 UIImageView
XCUIElementQuery.matching(identifier:) is not working for UIImageView
我正在尝试实施一个非常简单的测试,但我坚持使用 XCUIElementQuery.matching(identifier:) 方法。我认为查询 UIImageView
s 没有按预期工作,但不确定原因。
我为视图设置了这两个设置:
- 标签:
- UIImageView:
我有这个测试:
func testRecording() {
XCTAssertEqual(app.staticTexts.matching(identifier: "label").count, 2)
XCTAssertEqual(app.images.matching(identifier: "accept").count, 1)
}
我在其中查询这两个视图(带有 id label
的标签和带有 id accept
的 UIImageView)。从这里开始: app
被简单地定义为 class 属性 像这样: let app = XCUIApplication()
.
所以,这是屏幕的样子:
这意味着该测试应该通过,因为屏幕上有两个 ID 为 label
的 staticText
和一个 ID 为 accept
的 image
。 staticText
正在成功查询,但当 matching(identifier:)
尝试使用 ID accept
查询 image
时失败:
我尝试查询很多东西,例如:
app.images.
app.tables.
app.tables.images.
app.tables.cells.images.
app.buttons.
(在辅助功能设置的特征部分也标记为 Button
)
app.staticTexts.
(在辅助功能设置的特征部分也标记为 Static Text
)
但运气不好...我在这里做错了什么,或者遗漏了什么吗?
好的,因为我在 QA 团队,所以我没怎么看开发代码。但是当我这样做的时候,我找到了答案。
用于显示复选标记的 UIImageView 从未在 .xib 文件中使用,而是始终分配一个新实例,如下所示:
indicatorView = UIImageView(image: #imageLiteral(resourceName: "arrow_marked_ok_small"))
这意味着新的可访问性选项是通过初始化程序调用设置的,因此我在前两张图片中发布的具有来自 .xib 文件的可访问性选项的旧 UIImageView 实例将被覆盖。
我正在尝试实施一个非常简单的测试,但我坚持使用 XCUIElementQuery.matching(identifier:) 方法。我认为查询 UIImageView
s 没有按预期工作,但不确定原因。
我为视图设置了这两个设置:
- 标签:
- UIImageView:
我有这个测试:
func testRecording() {
XCTAssertEqual(app.staticTexts.matching(identifier: "label").count, 2)
XCTAssertEqual(app.images.matching(identifier: "accept").count, 1)
}
我在其中查询这两个视图(带有 id label
的标签和带有 id accept
的 UIImageView)。从这里开始: app
被简单地定义为 class 属性 像这样: let app = XCUIApplication()
.
所以,这是屏幕的样子:
这意味着该测试应该通过,因为屏幕上有两个 ID 为 label
的 staticText
和一个 ID 为 accept
的 image
。 staticText
正在成功查询,但当 matching(identifier:)
尝试使用 ID accept
查询 image
时失败:
我尝试查询很多东西,例如:
app.images.
app.tables.
app.tables.images.
app.tables.cells.images.
app.buttons.
(在辅助功能设置的特征部分也标记为Button
)app.staticTexts.
(在辅助功能设置的特征部分也标记为Static Text
)
但运气不好...我在这里做错了什么,或者遗漏了什么吗?
好的,因为我在 QA 团队,所以我没怎么看开发代码。但是当我这样做的时候,我找到了答案。
用于显示复选标记的 UIImageView 从未在 .xib 文件中使用,而是始终分配一个新实例,如下所示:
indicatorView = UIImageView(image: #imageLiteral(resourceName: "arrow_marked_ok_small"))
这意味着新的可访问性选项是通过初始化程序调用设置的,因此我在前两张图片中发布的具有来自 .xib 文件的可访问性选项的旧 UIImageView 实例将被覆盖。