如何使用Espresso更改TextView的文本

如何使用Espresso更改TextView的文本

本文介绍了Android测试.如何使用Espresso更改TextView的文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用 Espresso 更新 EditText 很容易,但是我找不到改变文本的方法(例如使用 TextView.setText(" someText); 方法)

It is easy to update an EditText with Espresso, but I can not find a way to change a text (like with a TextView.setText("someText"); method) during the testing process.

ViewAction.replaceText(stringToBeSet);

不起作用,因为它应该是 EditText

Is not working, cos it should be an EditText

推荐答案

您可以研究实现自己的ViewAction.

You can look into implementing your own ViewAction.

这是espresso库中replaceText viewaction的修改版本,旨在在 TextView 上使用.

Here is the modified version of the replaceText viewaction from espresso library that is meant to work on the 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";
                }
            };
    }

这篇关于Android测试.如何使用Espresso更改TextView的文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 20:12