首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UI测试firstMatch

UI测试firstMatch
EN

Stack Overflow用户
提问于 2017-09-18 10:00:13
回答 1查看 2.4K关注 0票数 4

.element(boundBy: 0)的UI测试代码中的所有实例替换为.firstMatch安全吗?

我是这么认为的,但是来自苹果的文档并不十分清楚(尤其是在多个匹配的情况下,尽管我只关心第一个匹配)。https://developer.apple.com/documentation/xctest/xcuielementtypequeryprovider/2902250-firstmatch

EN

回答 1

Stack Overflow用户

发布于 2017-09-18 22:40:30

与其将element(boundBy: 0)firstMatch交换,不如将它们链锁起来。

代码语言:javascript
复制
XCUIApplication().cells.element(boundBy:0).firstMatch

如果屏幕上有多个单元格,这将使查询解析速度更快。如果没有firstMatch,测试将首先获得所有单元格的列表,然后使用第一个单元格。使用firstMatch,测试将查找单元格并使用它找到的第一个单元格。

仅在您明确知道单个元素将与查询匹配的情况下才使用firstMatch。

您仍然应该在任何可能有超过一个匹配查询的元素的地方执行element(boundBy:),以确保当您使用firstMatch时,只有一个元素可以匹配该查询。在有3个单元格并且要使用第一个单元格的情况下,仍然应该使用element(boundBy: 0)。如果您知道屏幕上只有一个单元格,那么可以跳过element(boundBy: 0),使用firstMatch而不是element来更快地解析查询。

代码语言:javascript
复制
// fine if there is only one cell
XCUIApplication().cells.element // also checks for multiple matches
// also fine if there is only one cell
XCUIApplication().cells.firstMatch // does not check for multiple matches
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46276544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档