typeText() 正在输入不一致的字符

Posted

技术标签:

【中文标题】typeText() 正在输入不一致的字符【英文标题】:typeText() is typing inconsistent characters 【发布时间】:2020-03-15 00:46:59 【问题描述】:

在编写 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

【问题讨论】:

SwiftUI 在这里如何成为合适的标签?我在问题中看不到 SwiftUI。 尝试删除tap() 很抱歉。我删除了 SwiftUI 标签。至于删除tap(),这会导致Neither element nor any descendant has keyboard focus错误。 好吧,这没用。好吧,这个怎么样;放回tap()(显然)并在typeText之前插入一个5秒的暂停(我假设你知道怎么做)。这有帮助吗? for c in username usernameField.typeText(String(c))怎么样? 【参考方案1】:

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

通过菜单禁用硬件键盘

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

以编程方式禁用硬件

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

【讨论】:

以上是关于typeText() 正在输入不一致的字符的主要内容,如果未能解决你的问题,请参考以下文章

使用模板方法进行不一致的字符串排序

ValueError:发现样本数量不一致的输入变量:[100, 300]

jQuery keydown 不一致

sklearn:发现样本数量不一致的输入变量:[1, 99]

C# 中插入符号位置、字符串长度和匹配索引的不一致

拟合 LogisticRegression 时发现样本数不一致的输入变量