在 XCTest 中的 UI 测试中从 TextView 获取文本

Getting text from TextView in UI test in XCTest

我正在尝试 XCode 进行 iOS UI 测试。我的测试应用程序有 UITextView 元素,具有可访问性标识 displayTextView

我尝试了简单的测试,点击这个元素,输入一些文本,然后通过以下方式检查结果:

XCUIElement *textView = app.textViews[@"displayTextView"];
[textView tap];
[textView typeText:@"9.9"];

有效。但是后来我无法从文本视图中获取键入的文本。我尝试通过以下方式做到这一点:

XCTAssertEqual([textView.accessibilityValue isEqualToString:@"9.9"]);

但似乎不正确,因为textView.accessibilityValue 为空。 哪种方法适合获取键入的文本?

我找到了答案。正确的方法是:

XCTAssert([textView.value isEqualToString:@"9.9"]);

let text = textView.value as! String

我用过:

let expectedValue = "Hello World!"
XCTAssert(app.staticTexts[expectedValue].isHittable)

使用这种方法,我们寻找显示 expectedValue 的标签,并验证它是否可见...