Android 开发 谷歌UI测试框架(Espresso)

Android 开发 谷歌UI测试框架(Espresso)

官网:https://developer.android.com/training/testing/espresso/index.html

核心 API 小巧、可预测、易于学习并且依然保持对定制的开放。Espresso 测试清晰的描述异常、交互和断言,而没有样板内容、自定义基础设施或凌乱的实现细节的干扰。

Espresso 测试运行非常快!它会在应用 UI 处于静止时对其进行操作和断言,而使你远离了等待、同步、睡眠以及后台轮)。

配置测试环境

在应用的 build.gradle 文件添加

dependencies中

 androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

设置 instrumentation runner 在 ​android.defaultConfig​ 下添加

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

Android Studio 3.0.1中默认是配置好的 不需要自己添加

我们先来创建第一个测试,让项目先跑起来

EspressoTest1Activity.java

public class EspressoTest1Activity extends BaseActivity {

    @BindView(R.id.espress_test1_tv)
    TextView espressTest1Tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_espresso_test1);
        ButterKnife.bind(this);
        showBack();
    }
}
开始.gif

开始学习各类UI的测试

先来看看提供了哪些方法

https://google.github.io/android-testing-support-library/downloads/espresso-cheat-sheet-2.1.0.pdf

Android 开发 谷歌UI测试框架(Espresso)_第1张图片
20161019145537619.png

基础

Espresso 组件介绍

  • Espresso : 与识图交互的切入点,参考onViewonData. 也暴露了与任何视图都没有必要联系的API (比如pressBack)

  • ViewMatchers : 实现了Matcher 接口的对象集合,你可以在onView方法中传入一个或者多个此类对象来在当前的视图结构中定位一个视图;

  • ViewActions : 可以作为参数出入ViewInteraction.perform()方法中的ViewAction的集合(比如 click()).

  • ViewAssertions : 可以作为参数传入ViewInteraction.check()方法中的
    ViewAssertion 的集合,通常,你会使用带有视图匹配器的匹配断言来判断当前被选中视图的状态;

简单的说

  • ViewMachers:寻找用来测试的View。
  • ViewActions:发送交互事件。
  • ViewAssertions:检验测试结果。

你可能感兴趣的:(Android 开发 谷歌UI测试框架(Espresso))