swift – 如何测试staticTexts包含使用XCTest的字符串

Xcode UI测试中,如何测试staticTexts是否包含字符串?

在调试器中,我可以运行这样的东西来打印出staticTexts的所有内容:po app.staticTexts.但是,我如何测试字符串是否存在于所有内容中的任何位置?

我可以检查每个staticText是否存在像app.staticTexts这样的东西[“staticText的内容”].存在?但我必须使用那个staticText的确切内容.如何只使用可能只是该内容一部分的字符串?

首先,您需要为要访问的静态文本对象设置辅助功能标识符.这将允许您在不搜索显示的字符串的情况下找到它.
// Your app code
label.accessibilityIdentifier = "myLabel"

然后,您可以通过在XCUIElement上调用.label来获取显示字符串的内容来断言显示的字符串是否是您想要的字符串:

// Find the label
let myLabel = app.staticTexts["myLabel"]
// Check the string displayed on the label is correct
XCTAssertEqual("Expected string",myLabel.label)

要检查它是否包含某个字符串,请使用range(of :),如果找不到您提供的字符串,则返回nil.

XCTAssertNotNil(myLabel.label.range(of:"expected part"))

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...