Swift UI测试TextField中的访问字符串

leo*_*luo 12 ios swift xcode-ui-testing

我正在使用集成在Xcode和XCTest中的UI Test Case类来测试应用程序UI.我想测试这样的东西:

    app = XCUIApplication()
    let textField = app.textFields["Apple"]
    textField.typeText("text_user_typed_in")
    XCTAssertEqual(textField.text, "text_user_typed_in")
Run Code Online (Sandbox Code Playgroud)

我已经尝试过textField.value了!字符串方法; 这是行不通的.我也尝试过使用新的异步方法和expectationForPredicate(),它会导致超时.

知道怎么做吗?或者UI测试无法验证这种类型,我只能编写黑盒测试?

Cha*_* A. 34

我使用此代码,它工作正常:

textField.typeText("value")
XCTAssertEqual(textField.value as! String, "value")
Run Code Online (Sandbox Code Playgroud)

如果你正在做类似的事情并且它不起作用,我会检查以确保你的textField元素实际存在:

XCTAssertTrue(textField.exists, "Text field doesn't exist")
textField.typeText("value")
XCTAssertEqual(textField.value as! String, "value", "Text field value is not correct")
Run Code Online (Sandbox Code Playgroud)