UITest:检查带有前缀的文本是不是存在

Posted

技术标签:

【中文标题】UITest:检查带有前缀的文本是不是存在【英文标题】:UITest: Check if text with prefix existsUITest:检查带有前缀的文本是否存在 【发布时间】:2016-05-25 15:56:10 【问题描述】:

在进行 UI 测试时,我可以测试是否存在这样的文本:

XCTAssertTrue(tablesQuery.staticTexts["Born: May 7, 1944"].exists)

但是,如果我只知道前缀,我如何测试文本是否存在?

我想做这样的事情:

XCTAssertTrue(tablesQuery.staticTextWithPrefix["Born: "].exists)

甚至更好:

XCTAssertTrue(tablesQuery.staticTextWithRegex["Born: .+"].exists)

【问题讨论】:

【参考方案1】:

您可以使用谓词通过前缀查找元素。例如:

let app = XCUIApplication()
let predicate = NSPredicate(format: "label BEGINSWITH 'Born: '")
let element = app.staticTexts.elementMatchingPredicate(predicate)
XCTAssert(element.exists)

请注意,如果多个元素与谓词匹配,这可能会失败。更多信息可以在博客文章中找到,Cheat Sheet for UI Testing。

【讨论】:

以上是关于UITest:检查带有前缀的文本是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 wkwebview 是不是在 UItest 中完成加载

用户界面测试。如何检查键盘是不是存在?

Excel VBA检查各种组合框中是不是存在值,然后添加相应的文本框值

检查文件夹是不是存在于 Access Continuous Forms 中

检查文件是不是存在然后追加记录

检查电子邮件地址是不是存在