Espresso - typeText() 无法正常工作,有时会丢失字母
Espresso - typeText() not working correclty, sometimes letters are missing
我开始登录 activity 并在 Espresso 测试中使用:
onView(withId(R.id.username)).perform(typeText("USERNAME"));
我希望字段中的文本是 "USERNAME",但有时我会得到 "SERNAME",其他的 "UERNAME"。
大多数时候它可以工作,但有时会失败,特别是在重新启动 phone 之后。
以下是重现错误的示例代码:
https://github.com/neoranga55/CleanGUITestArchitecture
测试 phone 使用 Swift 键盘并启用了双语输入。显然,这会导致 phone 启动后键盘的首次出现速度变慢,而且还会以一种奇怪的方式自动更正 Espresso 键入的单词的第一个字母。
解决方案:始终使用默认系统键盘测试device/emulator并确保启用软件键盘以避免this other issue.
您也可以尝试replaceText()
。它应该不受慢速 IME 的影响:
onView(withId(R.id.username)).perform(replaceText("USERNAME"));
我开始登录 activity 并在 Espresso 测试中使用:
onView(withId(R.id.username)).perform(typeText("USERNAME"));
我希望字段中的文本是 "USERNAME",但有时我会得到 "SERNAME",其他的 "UERNAME"。
大多数时候它可以工作,但有时会失败,特别是在重新启动 phone 之后。
以下是重现错误的示例代码: https://github.com/neoranga55/CleanGUITestArchitecture
测试 phone 使用 Swift 键盘并启用了双语输入。显然,这会导致 phone 启动后键盘的首次出现速度变慢,而且还会以一种奇怪的方式自动更正 Espresso 键入的单词的第一个字母。
解决方案:始终使用默认系统键盘测试device/emulator并确保启用软件键盘以避免this other issue.
您也可以尝试replaceText()
。它应该不受慢速 IME 的影响:
onView(withId(R.id.username)).perform(replaceText("USERNAME"));