gpt4 book ai didi

xcode - 使用动态标签的 XC UITesting

转载 作者:可可西里 更新时间:2023-11-01 01:37:37 29 4
gpt4 key购买 nike

我试图断言标签(动态填充)的值包含一个子字符串作为 UITest 结果的一部分。

我的问题是 XCTAssert 似乎不允许子字符串或近似匹配(从我能找到的内容来看)。有没有人对我如何编写以下内容以找到“几小时前”而不是特定的“xx 小时前”的匹配项有任何建议?

目前我只能让它与完全匹配一起工作(如下所示)。

    //Set up an expectation
let textToFind = app.staticTexts["13 hours ago"]

let exists = NSPredicate(format: "exists == true")
expectationForPredicate(exists, evaluatedWithObject: textToFind, handler: nil)

//Give the app time to get network data & Update UI
waitForExpectationsWithTimeout(5, handler: nil)

//Assert that we get results
XCTAssert(textToFind.exists)

最佳答案

  1. 更改查找您的 UI 元素的查询,以通过其名称以外的方法执行此操作。 Xcode 中的 UI 测试记录功能可以帮助您解决这个问题 — 请参阅 WWDC2015 session introducing UI testing有关执行此操作的示例。

  2. 一旦您找到了未使用其名称的 UI 元素,您的期望测试就可以使用谓词来测试子字符串的名称。

或者:

  1. 显式使用查询来查找 app 的与谓词匹配的子元素(参见 XCUIElementQuery 中的 elementMatchingPredicate)而不是下标,那么您可以使用您的 exists 测试来验证它是否存在。再次查看 WWDC session例如。

关于xcode - 使用动态标签的 XC UITesting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34622658/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com