如何在XCUITest中获取动态静态文本的值?

时间:2019-09-19 15:54:38

标签: swift xctest predicate xcuitest xctestexpectation

我有一个带有更改文本的静态文本出现在我的应用程序中。出现时如何获取该staticText的值。

https://stackoverflow.com/a/49694804/9070045。实际上,这非常接近解决方案。但是我需要元素的值。

func expectationFromElement(_ app: XCUIApplication, _ element: XCUIElement, _ ExpectedPredicate: String, _ timeoutValue: Double, _ XCTestCaseHelper: XCTestCase) {
  let Predicate = NSPredicate(format: ExpectedPredicate)
  XCTestCaseHelper.expectation(
    for: Predicate, evaluatedWith: element, handler: nil)
  XCTestCaseHelper.waitForExpectations(timeout: timeoutValue, handler: nil)
}

func waitMessage(_ app: XCUIApplication, _ message: String, _ XCTestCaseHelper: XCTestCase) {
  let predicate = NSPredicate(format: "label CONTAINS[c] %@", message)
  let result = app.staticTexts.containing(predicate)
  let element = XCUIApplication().staticTexts[result.element.label]
  expectationFromElement(app, element, "exists == 1", 100.0, XCTestCaseHelper)
}

因此,如果staticText值动态地出现“您的值为\ n%@”,那么我如何在此处获取该staticText的值:“您的价值较小”

0 个答案:

没有答案