首页 > 解决方案 > typeText() 正在输入不一致的字符

问题描述

在编写 UI 测试的同时,我开始涉足 Swift,并且在将文本输入到 textField 时遇到了问题。下面是代码:

func testLoginUsernameField() {
    let app = XCUIApplication()
    app.launch()

    let username = "testusername2"

    let usernameField = app.textFields["username_field"]
    XCTAssertTrue(usernameField.exists)

    usernameField.tap()
    usernameField.typeText(username)
    XCTAssertEqual(usernameField.value as! String, username)
}

当我这样做时会出现问题usernameField.typeText(username)。我的文字继续写tstusername2而不是testusername2.

标签: swiftxctestxctestcase

解决方案


启用硬件键盘时,模拟器上会出现此问题。

通过菜单禁用硬件键盘

转到 I/O -> 键盘 -> 取消选中“连接硬件键盘”或使用快捷键 ⇧⌘K。

在此处输入图像描述

以编程方式禁用硬件

如果您想为您的方案禁用硬件键盘,无论您运行什么模拟器,请参阅StackOverflow 帖子。我尝试使用其他方法通过 App Delegate 禁用硬件键盘,但没有运气。


推荐阅读