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"))
翻译自:https://stackoverflow.com/questions/38044374/how-to-test-that-statictexts-contains-a-string-using-xctest

转载注明原文:swift – 如何测试staticTexts包含使用XCTest的字符串