我们能否对Edittext Value执行断言并根据其输出记录测试用例.就像我们的Edittext值等于我们的值一样,我们要执行条件A否则B.
onVIEw(withID(vIEwID)).check(matches(isEditTextValueEqualTo(vIEwID, value)));Matcher<VIEw> isEditTextValueEqualTo(final int vIEwID, final String content) { return new TypeSafeMatcher<VIEw>() { @OverrIDe public voID describeto(Description description) { description.appendText("Match Edit Text Value with VIEw ID Value : : " + content); } @OverrIDe public boolean matchesSafely(VIEw vIEw) { if (vIEw != null) { String editTextValue = ((EditText) vIEw.findVIEwByID(vIEwID)).getText().toString(); if (editTextValue.equalsIgnoreCase(content)) { return true; } } return false; } };}
使用try无法正常工作.Catch(Exception e)
解决方法:
我认为您不应该在匹配器中执行findVIEwByID,我认为没有理由这样做.
我已经更新了您的匹配器:
Matcher<VIEw> isEditTextValueEqualTo(final String content) { return new TypeSafeMatcher<VIEw>() { @OverrIDe public voID describeto(Description description) { description.appendText("Match Edit Text Value with VIEw ID Value : : " + content); } @OverrIDe public boolean matchesSafely(VIEw vIEw) { if (!(vIEw instanceof TextVIEw) && !(vIEw instanceof EditText)) { return false; } if (vIEw != null) { String text; if (vIEw instanceof TextVIEw) { text =((TextVIEw) vIEw).getText().toString(); } else { text =((EditText) vIEw).getText().toString(); } return (text.equalsIgnoreCase(content)); } return false; } };}
并这样称呼:
onVIEw(withID(vIEwID)).check(matches(isEditTextValueEqualTo(value)));
总结 以上是内存溢出为你收集整理的android-在Espresso中声明EditText值全部内容,希望文章能够帮你解决android-在Espresso中声明EditText值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)