我如何在 xctest 中找到标签或静态文本的层次结构?
Posted
技术标签:
【中文标题】我如何在 xctest 中找到标签或静态文本的层次结构?【英文标题】:How i can find the hierarchy in xctest for a label or static text? 【发布时间】:2016-07-26 11:56:33 【问题描述】:您好,我需要测试窗口中存在的静态 txt,以查看是否存在文本我使用了以下代码,
XCTAssert(mailwindow.staticTexts["Sign In to access Accounts"].exists)
现在我需要测试文本的层次结构。
示例登录以访问帐户应出现在 “hello world” 文本之后。
【问题讨论】:
【参考方案1】:听起来您想测试定位而不是层次结构。 XCTest UI 测试更倾向于功能测试,而不是检查布局。
从层次上讲,您可以检查父视图是否包含两个文本元素,但这不会断言它们在屏幕上出现的顺序。
可以根据每个元素的边框位置进行断言,但是如果你改变了屏幕的布局,你可能需要重写测试。
let firstText = app.staticTexts["accessAccountsLabel"]
let secondText = app.staticTexts["helloWorldLabel"]
XCTAssert(firstText.frame.origin.x < secondText.frame.origin.x)
XCTAssert(firstText.frame.origin.y < secondText.frame.origin.y)
【讨论】:
以上是关于我如何在 xctest 中找到标签或静态文本的层次结构?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有静态文本的情况下在 XCTest 中快速测试 Webview 是不是加载
如何创建一个在 XCTest 中定义按钮或文本字段的 swift 文件?