如何打印 XCUITest 中的所有静态文本
Posted
技术标签:
【中文标题】如何打印 XCUITest 中的所有静态文本【英文标题】:How to print all the staticTexts in XCUITest 【发布时间】:2019-07-02 07:27:33 【问题描述】:我使用app.staticTexts["String"].tap()
点按了一个包含该字符串的按钮,该按钮运行良好。
但这里的问题是我想打印该页面上存在的所有static
文本,我该如何在XCUITest
中做到这一点?
我的目标是遍历页面上的所有 static
文本,然后在我的预期文本上添加 if
条件。
【问题讨论】:
您可以尝试查找所有可访问性元素并进行迭代,检查 XCUIElementQuery。但是你想做的看起来更像是单元测试而不是 UITest, @Lu_ 我实际上想遍历页面上存在的所有静态文本,然后我将在预期文本上添加if
条件。那么我该怎么做呢
【参考方案1】:
你可以使用类似的东西:
for staticText in app.staticTexts.allElementsBoundByIndex
if staticText.label == "test"
【讨论】:
【参考方案2】://Returns all the labels,buttons, textfield,images in the page with its name.
//Just change the element name in loop according to the need.
for staticText in app.staticTexts.allElementsBoundByIndex
if staticText != nil
print(staticText.label)
else
print("No static text found")
【讨论】:
【参考方案3】:我想文本存在于staticText
元素的identifier
属性中。您可以尝试以下方法
for i in 0..<app.staticTexts.count
let text = app.staticTexts.element(boundBy: i).identifier
print(text)
if text == "Your String"
// Your code
【讨论】:
它为每个循环打印“Find the StaticText”字符串,虽然我想要 staticText 值 代替identifier
,尝试使用value
、label
或title
以上是关于如何打印 XCUITest 中的所有静态文本的主要内容,如果未能解决你的问题,请参考以下文章
如何从 XCUITest(来自 Xcode 11)中的 xcresult 文件中提取详细信息?
XCUITest 无法检测到我动态生成的 tableView 的可访问性 id
XCUITest - 如何访问 XCUITest 中的应用设备令牌以触发推送通知,但无需在应用代码中设置任何 UIView?