用 Espresso 更新 EditText
很容易,但我找不到更改文本的方法(比如 TextView.setText("someText");
方法)在测试过程中。
ViewAction.replaceText(stringToBeSet);
不起作用,因为它应该是 EditText
最佳答案
您可以研究实现自己的 ViewAction。
这是来自 espresso 库的 replaceText viewaction 的修改版本,用于 TextView
。
public static ViewAction setTextInTextView(final String value){
return new ViewAction() {
@SuppressWarnings("unchecked")
@Override
public Matcher<View> getConstraints() {
return allOf(isDisplayed(), isAssignableFrom(TextView.class));
}
@Override
public void perform(UiController uiController, View view) {
((TextView) view).setText(value);
}
@Override
public String getDescription() {
return "replace text";
}
};
}
关于安卓测试。如何使用 Espresso 更改 TextView 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32846738/