安卓测试。如何使用 Espresso 更改 TextView 的文本

标签 android testing textview android-espresso android-testing

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/

相关文章:

java - 添加到 fragment 时按钮不起作用

android - 首次启动时的自定义 Activity (初始化向导)

android - addJavascriptInterface 的 js 类型转换的文档在哪里?

java - 为每个对象实例分配唯一编号

java - 如何更新声明变量的值

android - 如何选择 LogCat 在 Eclipse 中显示的设备?

用于访问网页的 Perl 脚本

ruby-on-rails - rails 引擎 : Where to define gems only used in testing

android - 如何获取对 WebView 系统 bundle 字体的字体引用? (格鲁吉亚,Times New Roman..)

android - GridView 下的 TextView