📜  Espresso测试框架-设置说明

📅  最后修改于: 2020-12-06 09:31:13             🧑  作者: Mango


在本章中,让我们了解如何安装espresso框架,配置它以编写espresso测试并在我们的android应用程序中执行它。

先决条件

Espresso是一个用户界面测试框架,用于测试使用Android SDK以Java / Kotlin语言开发的android应用程序。因此,espresso的唯一要求是使用Java或Kotlin中的Android SDK开发应用程序,并建议使用最新的Android Studio。

在开始使用espresso框架之前,要正确配置的项目列表如下-

  • 安装最新的Java JDK并配置JAVA_HOME环境变量。

  • 安装最新的Android Studio(版本3.2或更高版本)。

  • 使用SDK Manager安装最新的Android SDK并配置ANDROID_HOME环境变量。

  • 安装最新的Gradle Build Tool并配置GRADLE_HOME环境变量。

配置EspressoTesting框架

最初,espresso测试框架是Android支持库的一部分。后来,Android团队提供了一个新的Android库AndroidX,并将最新的espresso测试框架开发移至该库中。 espresso测试框架的最新开发(Android 9.0,API级别28或更高)将在AndroidX库中完成。

在项目中包含espresso测试框架就像将espresso测试框架设置为应用程序gradle文件app / build.gradle中的依赖项一样简单。完整的配置如下,

使用Android支持库,

android {
   defaultConfig {
      testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
   }
}
dependencies {
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.2'
   androidTestImplementation 'com.android.support.test.espresso:espressocore:3.0.2'
}

使用AndroidX库,

android {
   defaultConfig {
      testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
   }
}
dependencies {
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.androidx.test:runner:1.0.2'
   androidTestImplementation 'com.androidx.espresso:espresso-core:3.0.2'
}

testInstrumentationRunnerandroid / defaultConfig设置AndroidJUnitRunner类运行的仪器测试。依赖关系中的第一行包括JUnit测试框架,依赖关系中的第二行包括用于运行测试用例的测试运行器库,最后依赖关系中的第三行包括espresso测试框架。

默认情况下,Android Studio在创建android项目时将espresso测试框架(Android支持库)设置为依赖项,并且gradle将从Maven存储库下载必要的库。让我们创建一个简单的Hello world android应用程序,并检查espresso测试框架是否配置正确。

创建新的Android应用程序的步骤如下所述-

  • 启动Android Studio。

  • 选择文件→新建→新建项目。

  • 输入应用程序名称(HelloWorldApp)和公司域(espressosamples.tutorialspoint.com),然后单击下一步

Android应用程式

要创建Android项目,

  • 选择最低API作为API 15:Android 4.0.3(IceCreamSandwich),然后单击“下一步”。

目标Android设备

要定位Android设备,

  • 选择清空活动,然后单击下一步

空活动

要将活动添加到Mobile,

  • 输入主要活动的名称,然后单击完成

主要活动

要配置活动,

  • 一旦创建了一个新项目,请打开app / build.gradle文件并检查其内容。该文件的内容在下面指定,

apply plugin: 'com.android.application'
android {
   compileSdkVersion 28
   defaultConfig {
      applicationId "com.tutorialspoint.espressosamples.helloworldapp"
      minSdkVersion 15
      targetSdkVersion 28
      versionCode 1
      versionName "1.0"
      testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
   }
   buildTypes {
      release {
         minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt'),    'proguard-rules.pro'
      }
   }
}
dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:appcompat-v7:28.0.0'
   implementation 'com.android.support.constraint:constraint-layout:1.1.3'
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.2'
   androidTestImplementation 'com.android.support.test.espresso:espressocore:3.0.2'
}

最后一行指定了espresso测试框架的依赖性。默认情况下,已配置Android支持库。通过单击菜单中的重构迁移AndroidX ,我们可以将应用程序重新配置为使用AndroidX库。

浓咖啡测试框架

要迁移到Androidx,

  • 现在, app / build.gradle更改如下所示,

apply plugin: 'com.android.application'
android {
   compileSdkVersion 28
   defaultConfig {
      applicationId "com.tutorialspoint.espressosamples.helloworldapp"
      minSdkVersion 15
      targetSdkVersion 28
      versionCode 1
      versionName "1.0"
      testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
   }
   buildTypes {
      release {
         minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      }
   }
}
dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
   implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'androidx.test:runner:1.1.1'
   androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}

现在,最后一行包括来自AndroidX库的espresso测试框架。

设备设置

在测试过程中,建议关闭用于测试的Android设备上的动画。这将减少检查空闲资源时的混乱。

让我们看看如何在Android设备上禁用动画–(设置→开发者选项),

  • 窗口动画比例

  • 过渡动画比例

  • 动画师持续时间量表

如果“开发人员”选项菜单在“设置”屏幕中不可用,请多次单击“关于电话”选项中可用的内部版本。这将启用“开发人员选项”菜单。