Android学习笔记 85. 进行界面测试的Espresso

本文详细介绍了如何在Android项目中设置和使用Espresso进行界面测试,包括关闭测试设备上的动画、创建和运行测试用例、测试Activity切换、文本输入、微调器选择等。Espresso是一个强大的UI测试框架,帮助开发者确保应用界面的正确性和用户交互的流畅性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android学习笔记

Android 开发者基础知识 (Java) —— Google Developers 培训团队

第2单元 用户体验

第6课 测试界面

85. 进行界面测试的Espresso
你会做什么
  • 修改项目以创建 Espresso 测试。
  • 测试应用程序的文本输入和输出。
  • 测试单击微调器项目并检查其输出。
  • 记录一份浓咖啡测试RecyclerView
85.1 在项目中设置Espresso
  1. 检查Android支持存储库

    在这里插入图片描述

    但是现在已经不用这个了,…

  2. 为项目配置Espresso

  3. 关闭测试设备上的动画

    开发者选项 → 动画。

85.2 测试Activity切换和文本输入
  1. 运行示例测试

    在这里插入图片描述

  2. 为测试定义一个类并设置活动

    类定义现在包括几个注释:

    • @RunWith:要创建检测的 JUnit 4 测试类,@RunWith(AndroidJUnit4.class)请在测试类定义的开头添加注释。
    • @Rule@Rule注释允许您使用 Android 测试支持库提供的测试规则类之一,以可重用的方式添加或重新定义每个测试方法的行为,例如 ActivityTestRuleServiceTestRule。上面的规则使用了一个ActivityTestRule对象,它提供了一个单一的功能测试Activity——在这种情况下,MainActivity.class. 在测试期间,您将能够Activity直接使用ViewMatchersViewActionsViewAssertions.
    • @Test@Test注解告诉 JUnit,public void它所附加的方法可以作为测试用例运行。测试方法以@Test注释开头,并包含用于执行和验证您要测试的组件中的单个功能的代码。
  3. 测试从一个Activity切换到另一个Activity

  4. 测试文本输入输出

  5. 引入错误以显示测试失败

85.3 测试微调器的选择
  1. 创建测试方法

    @RunWith(AndroidJUnit4.class)
    public class SpinnerSelectionTest {
       @Rule
       public ActivityTestRule mActivityRule = new ActivityTestRule<>(
                         MainActivity.class);
    
  2. 访问用于Spinner项目的数组

    @Test
    public void iterateSpinnerItems() {
       String[] myArray = 
             mActivityRule.getActivity().getResources()
             .getStringArray(R.array.labels_array);
    }
    
  3. 找到Spinner项目并单击

    onView(withId(R.id.label_spinner)).perform(click());
    onData(is(myArray[i])).perform(click());
    onView(withId(R.id.text_phonelabel))              .check(matches(withText(containsString(myArray[i]))));
    
85.4 记录Espresso测试
  1. 打开并运行应用程序

    在这里插入图片描述

  2. 记录测试

    在这里插入图片描述

    在这里插入图片描述

85.5 小结

设置 Espresso 以测试 Android Studio 项目:

  • 在 Android Studio 中,检查并安装 Android Support Repository。
  • 添加dependencies到**build.gradle (Module: app)**文件中:
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 
           'com.android.support.test.espresso:espresso-core:3.0.1'
  • 将以下检测语句添加到该defaultConfig部分的末尾:
testInstrumentationRunner 
                "android.support.test.runner.AndroidJUnitRunner"

Instrumentation是 Android 系统中的一组控制方法或钩子。

  • 在您的测试设备上,关闭动画。为此,请打开 USB 调试。然后在“设置”应用中,选择“开发人员选项”>“绘图”。关闭窗口动画比例、过渡动画比例和动画持续时间比例。

要测试注释:

  • @RunWith(AndroidJUnit4.class):创建一个检测的 JUnit 4 测试类。
  • @Rule:使用 Android 测试支持库提供的测试规则类之一,以可重用的方式添加或重新定义每个测试方法的行为,例如 ActivityTestRuleServiceTestRule
  • @Test@Test注解告诉 JUnit,public void它所附加的方法可以作为测试用例运行。

测试代码:

  • ViewMatchers类允许您在当前View层次结构中找到视图,以便您可以检查某些内容或执行操作。
  • ViewActions类允许您对由ViewMatcher.
  • ViewAssertions类允许您断言或检查由ViewMatcher.

要测试微调器:

  • onData()View在运行时由适配器动态填充的a 一起使用。
  • getActivity()通过使用 建立上下文并使用 获取资源实例,从应用程序的数组中获取项目getResources()
  • 用于onData()查找并单击每个微调器项目。
  • onView()与 a ViewActionand一起使用ViewAssertion来检查输出是否与选定的微调器项目匹配。

【这只是当时的解释,现在很多方法已经不适用了】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祝我天天开心,平安健康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值