我开始我的登录活动,并在Espresso测试中使用:
onView(withId(R.id.username)).perform(typeText("USERNAME"));
我希望该字段中的文本为"USERNAME",但有时会变成"SERNAME"或"UERNAME"。
大多数情况下它能正常工作,但有时在手机重新启动后会出现故障。
以下是重现此错误的示例代码: https://github.com/neoranga55/CleanGUITestArchitecture
我开始我的登录活动,并在Espresso测试中使用:
onView(withId(R.id.username)).perform(typeText("USERNAME"));
我希望该字段中的文本为"USERNAME",但有时会变成"SERNAME"或"UERNAME"。
大多数情况下它能正常工作,但有时在手机重新启动后会出现故障。
以下是重现此错误的示例代码: https://github.com/neoranga55/CleanGUITestArchitecture
测试手机使用启用双语打字的Swift键盘。显然,这会导致手机启动后键盘的首次出现较慢,并且Espresso输入的单词的第一个字母也会以奇怪的方式自动更正。
解决方案:始终在测试设备/模拟器上使用默认系统键盘,并确保启用软件键盘以避免其他问题。
你也可以尝试使用replaceText()
。它不应该受慢速输入法的影响:
onView(withId(R.id.username)).perform(replaceText("用户名"));