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]