【Android测试】自动化测试Espresso

  • Post author:
  • Post category:其他




一、介绍

Espresso 是一套简洁、美观且可靠的 Android 界面测试库。核心 API 小巧、可预测且易于学习,但仍可进行自定义。Espresso 测试会清楚地说明预期、交互和断言,让您不受样板内容、自定义基础架构或杂乱的实现细节干扰。

Espresso 测试运行速度极快!当它在静止状态下对应用界面进行操纵和断言时,让您无需等待、同步、休眠和轮询。

  • 目标受众群体

    Espresso 面向认为自动化测试是开发生命周期不可或缺的一部分的开发者。虽然 Espresso 可用于黑盒测试,但熟悉被测代码库的人员可以开启它的全部功能。

(摘于官方文档关于Espresso介绍)

就目前而言,Espresso是我测试移动端用起来比较舒服的库之一

(先观赏一段视频)

Android自动化测试Espresso



1、流程图

(先看一张流程图,拿验证三角形成立问题作为例子)

在这里插入图片描述



二、操作环境



1、依赖

新版本已经知道配置好了依赖,此处主要提供于旧版本的软件测试

	androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test:rules:1.1.0'
    androidTestImplementation 'androidx.test:runner:1.1.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'



2、目录

  • 切换软件视图

在这里插入图片描述

  • 测试目录

在这里插入图片描述



三、使用

仅展示常用的测试方法,其他方法请浏览Android官方文档

//作用:注解运行器,像此处就是用AndroidJUnit4调试类来运行
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {

	// 创建测试启动类
    @Rule
    public ActivityTestRule activityTestRule = new ActivityTestRule(MainActivity.class);

	// 通过R类测试
    @Test
    public void useAppContext() throws InterruptedException {
        // Context of the app under test.
        // 1、通过控件ID向其输入内容
       	onView(withId(R.id.test)).perform(typeText("这是我输入的内容"), closeSoftKeyboard());
       	// 2、通过控件ID触发点击事件
       	onView(withId(R.id.click)).perform(click());
       	// 3、通过按钮文本操控按钮
       	onView(withText("按钮文本")).perform(click());
       	// 启动
       	activityTestRule.getActivity();
    }
}



四、附件

代码下载地址:https://download.csdn.net/download/weixin_48916759/87846946



版权声明:本文为weixin_48916759原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。