Android Espresso typeText()vs editText.setKeyListener(DigitsKeyListener.getInstance(null、false、true));
要帮助EditText拒绝非有效数字的击键,请设置DigitKeyListener,如下所示:Android Espresso typeText()vs editText.setKeyListener(DigitsKeyListener.getInstance(null、false、true));,android,android-view,android-espresso,Android,Android View,Android Espresso,要帮助EditText拒绝非有效数字的击键,请设置DigitKeyListener,如下所示: myEditText.setKeyListener(DigitsKeyListener.getInstance(null、false、true)) 这在手动测试下有效-您可以键入42..,第二个点的击键消失,就像从未发生过一样。如果我们正在帮助用户输入浮点数,这很好,因为我们不需要等到他们提交表单后再设置错误 但我不能TDD DigitsKeyListener,因为在浓缩咖啡中这很有效: onView
myEditText.setKeyListener(DigitsKeyListener.getInstance(null、false、true))代码>
这在手动测试下有效-您可以键入42..
,第二个点的击键消失,就像从未发生过一样。如果我们正在帮助用户输入浮点数,这很好,因为我们不需要等到他们提交表单后再设置错误
但我不能TDD DigitsKeyListener,因为在浓缩咖啡中这很有效:
onView(带id(R.id.my_edit_text)).perform(typeText(“42..”))代码>
第二个
进入字段,因此我不能断言KeyListener拒绝了它
(我可以确定设置了KeyListener,但这是针对工件而不是功能进行编程。)
typeText()
,如果绕过KeyListeners,它似乎在原始击键输入级别工作,那么它有什么意义?单独发送每个密钥也未被筛选:
onView(带id(R.id.my_edit_text)).perform(typeText(“4”))代码>
onView(带id(R.id.my\u edit\u text)).perform(typeText(“2”))代码>
onView(带id(R.id.my\u edit\u text)).perform(typeText(“.”)代码>
onView(带id(R.id.my\u edit\u text)).perform(typeText(“.”)代码>