在 XCTest 的 UI 测试中从 TextView 获取文本
Posted
技术标签:
【中文标题】在 XCTest 的 UI 测试中从 TextView 获取文本【英文标题】:Getting text from TextView in UI test in XCTest 【发布时间】:2016-11-16 12:16:42 【问题描述】:我正在尝试使用 XCode 进行 ios UI 测试。我的测试应用程序具有 UITextView 元素和可访问性标识displayTextView
。
我尝试了简单的测试,点击这个元素,输入一些文本,然后通过以下方式检查结果:
XCUIElement *textView = app.textViews[@"displayTextView"];
[textView tap];
[textView typeText:@"9.9"];
它有效。但是我无法从文本视图中获取输入的文本。我尝试通过以下方式做到这一点:
XCTAssertEqual([textView.accessibilityValue isEqualToString:@"9.9"]);
但它似乎不正确,因为 textView.accessibilityValue 为空。 什么方法适合获取输入的文本?
【问题讨论】:
【参考方案1】:我找到了答案。正确的做法是:
XCTAssert([textView.value isEqualToString:@"9.9"]);
【讨论】:
【参考方案2】:或let text = textView.value as! String
【讨论】:
完整答案:XCTAssertEqual("9.9", textView.value as? String)
【参考方案3】:
我用过:
let expectedValue = "Hello World!"
XCTAssert(app.staticTexts[expectedValue].isHittable)
使用这种方法,我们查找显示expectedValue
的标签,并验证它是否可见...
【讨论】:
以上是关于在 XCTest 的 UI 测试中从 TextView 获取文本的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Swift 中从 XCTest 打开 NSStream