使用Espresso测试Android用户界面

在这篇文章中,您将学习如何使用Espresso测试框架编写UI测试并自动化测试工作流程,而不是使用繁琐且极易出错的手动过程。

Espresso是用于在Android中编写UI测试的测试框架。根据官方文档,您可以:

使用Espresso编写简洁,美观,可靠的Android UI测试。

1.  为什么要使用浓缩咖啡?

手动测试的一个问题是执行起来既费时又乏味。例如,要在Android应用中测试登录屏幕(手动),您必须执行以下操作:

  1. 启动应用程序。
  2. 导航到登录屏幕。
  3. 确认是否usernameEditTextpasswordEditText可见。
  4. 在各自的字段中键入用户名和密码。
  5. 确认登录按钮是否也可见,然后单击该登录按钮。
  6. 检查登录成功或失败时是否显示正确的视图。

而不是花费所有这些时间手动测试我们的应用程序,最好花更多时间编写代码,使我们的应用程序脱颖而出!而且,即使手动测试繁琐且速度很慢,它仍然容易出错,您可能会错过一些极端情况。

自动化测试的一些优点包括:

  • 自动化测试每次执行时都会执行完全相同的测试用例。
  • 开发人员可以在将问题发送给QA团队之前快速发现问题。
  • 与手动测试不同,它可以节省大量时间。通过节省时间,软件工程师和QA团队可以将更多时间花在挑战和奖励任务上。
  • 实现更高的测试覆盖率,从而实现更好的应用质量。

在本教程中,我们将通过将Espresso集成到Android Studio项目中来了解Espresso。我们将为登录屏幕和a编写UI测试RecyclerView,我们将学习测试意图。

质量不是一种行为,而是一种习惯。- 巴勃罗毕加索

2.  先决条件

为了能够学习本教程,您需要:

 您可以在我们的GitHub仓库中找到本教程的示例项目(在Kotlin中),以便您轻松跟进。

3.  创建Android Studio项目

启动Android Studio 3并创建一个名为空活动的新项目  MainActivity。一定要检查  包含Kotlin支持

创建Android项目对话框

4. 设置浓缩咖啡和 AndroidJUnitRunner

创建新项目后,请确保在build.gradle中添加Android测试支持库中的以下依赖(尽管Android Studio已经为我们提供了这些依赖项  )。在本教程中,我们使用最新的Espresso库版本3.0.2(撰写本文时)。

android {
    //...
    defaultConfig {
        //...
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    //...
}
 
dependencies {
    //...
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test:rules:1.0.2'
 
}

我们还包括了仪表运行器AndroidJUnitRunner

一个  [Instrumentation](https://developer.android.com/reference/android/app/Instrumentation.html) 运行针对Android包(应用程序)JUnit3和JUnit4测试。

请注意,Instrumentation它只是实现应用程序检测代码的基类。

关闭动画

Espresso的同步,如果您在测试设备上允许动画,则不知道如何等待动画完成,可能导致某些测试失败。要关闭测试设备上的动画,请转到**“设置”**  >“ 开发人员选项”,然后关闭“绘图”部分下的所有以下选项:

  • 窗口动画比例
  • 过渡动画比例
  • 动画师持续时间刻度

5.  在Espresso中写下你的第一个测试

首先,我们开始测试登录屏幕。以下是登录流程的启动方式:用户启动应用程序,显示的第一个屏幕包含一个登录按钮。当登录按钮被点击,它打开了LoginActivity窗口。此屏幕仅包含两个EditTexts(用户名和密码字段)和一个“ **提交”**按钮。

这是我们的MainActivity布局:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值