我正在为Fragment编写测试用例.我可以将文本设置为Edittext,但无法通过测试将文本视图设置为文本视图.请有人帮我解决这个问题.Bellow是我编辑文本的代码.
onVIEw(withID(R.ID.editText)) .perform(typeText("my text"), closeSoftKeyboard());
请帮我如何设置文本到文本视图.
解决方法:
这是由于typeText的先决条件而发生的
VIEw preconditions:
must be displayed on screen
must support input methods
TextVIEw不支持Input method(用户不能通过键盘或其他东西输入值)因此问题
解决方案:您可以实现自己的VIEwAction视图
From how to create View action to set text on TextView
public static VIEwAction setTextInTextVIEw(final String value){ return new VIEwAction() { @SuppressWarnings("unchecked") @OverrIDe public Matcher<VIEw> getConstraints() { return allOf(isdisplayed(), isAssignableFrom(TextVIEw.class));// ^^^^^^^^^^^^^^^^^^^ // To check that the found vIEw is TextVIEw or it's subclass like EditText// so it will work for TextVIEw and it's descendants } @OverrIDe public voID perform(UiController uiController, VIEw vIEw) { ((TextVIEw) vIEw).setText(value); } @OverrIDe public String getDescription() { return "replace text"; } }; }
那么你可以做到
onVIEw(withID(R.ID.editText)) .perform(setTextInTextVIEw("my text"));
总结 以上是内存溢出为你收集整理的如何使用Android中的Espresso为textview设置值全部内容,希望文章能够帮你解决如何使用Android中的Espresso为textview设置值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)