如何使用 Espresso 在 UI 测试中模拟 textwatcher?
How to emulate textwatcher on UI tests with Espresso?
当某个 EditTextView 达到 6 个字符时,我正在使用 TextWatcher 触发请求。我如何在 Espresso UI 测试中模拟它?我只找到了 .perform(click()) 之类的示例,但是没有按钮可以触发操作。有没有什么字符数达到n的时候?
除了做 .perform(click())
你还应该调用 .perform(typetext())
来检查输入的字符改变时会发生什么:
onView(withId(R.id.yourInputId)).perform(click(), typeText("123456"));
然后评估在达到该字符数后 UI 中应该发生的任何事情。
P.S.: typeText()
之前的 click()
只在某些旧版本的 espresso 中需要。我用它以防万一。有时需要更多方法,例如:perform(scrollTo(), click(), clearText(), typeText("123456"))
以防需要滚动并且在设置新文本之前应清除文本。
当某个 EditTextView 达到 6 个字符时,我正在使用 TextWatcher 触发请求。我如何在 Espresso UI 测试中模拟它?我只找到了 .perform(click()) 之类的示例,但是没有按钮可以触发操作。有没有什么字符数达到n的时候?
除了做 .perform(click())
你还应该调用 .perform(typetext())
来检查输入的字符改变时会发生什么:
onView(withId(R.id.yourInputId)).perform(click(), typeText("123456"));
然后评估在达到该字符数后 UI 中应该发生的任何事情。
P.S.: typeText()
之前的 click()
只在某些旧版本的 espresso 中需要。我用它以防万一。有时需要更多方法,例如:perform(scrollTo(), click(), clearText(), typeText("123456"))
以防需要滚动并且在设置新文本之前应清除文本。