如何在Espresso中的RatingBar上设置特定等级?

Edu*_*ysh 6 android ratingbar android-espresso

我正在尝试编写一个Espresso测试,用于测试RatingBar选择。如何使用Espresso设置特定评分?我只看到click(),它始终设置中间等级。

app*_*oll 7

接受的答案帮助我编写了以下自定义ViewAction:

public final class SetRating implements ViewAction {

    @Override
    public Matcher<View> getConstraints() {
        Matcher <View> isRatingBarConstraint = ViewMatchers.isAssignableFrom(RatingBar.class);
        return isRatingBarConstraint;
    }

    @Override
    public String getDescription() {
        return "Custom view action to set rating.";
    }

    @Override
    public void perform(UiController uiController, View view) {
        RatingBar ratingBar = (RatingBar) view;
        ratingBar.setRating(3);
    }
}
Run Code Online (Sandbox Code Playgroud)


yog*_*arl 6

您需要创建一个ViewAction的自定义子类,该子类在视图上调用setRating,然后将您的自定义视图操作的实例传递给perform()方法。