快捷搜索:  汽车  科技

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)  见本书前面JDK环境安装的章节。  1.安装JDK  一、使用UiAutomator工具的优点  二、下载和配置  为运行UiAutomator,需要下载JDK、ATD等相关软件。

一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“功能测试工具:UiAutomator工具介绍”。

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)(1)

  UIAutomator是测试Android原生态APP的功能测试工具。Android 4.1发布时包含了这种新的测试工具—UiAutomator。UiAutomator用来做UI功能测试的。

  基于黑盒的UI测试不需要测试人员了解程序是如何实现,只验证各种操作的结果是否符合预期即可。

  常用的UI测试方式是人工验证,就是测试人员使用各种类型的手机分别安装待测试的程序,然后看是否能正确完成各种预定的功能。但是,这种验证方式非常耗时间,每次回归都要全部验证一遍,并且还容易出现人为的错误。比较高效和可靠的UI测试方式是自动化测试。自动化UI测试通过创建测试代码来执行测试任务,各种测试任务分别覆盖不同的使用场景,然后使用测试框架运行这些测试任务。

  一、使用UiAutomator工具的优点

  •   (1)编写灵活,使用方便。
  •   (2)可快速学习。
  •   (3)限制少。
  •   (4)可模拟目前90%以上的手工操作。
  •   (5)扩展性好。

  二、下载和配置

  为运行UiAutomator,需要下载JDK、ATD等相关软件。

  •   (1)JDK:1.8以上版本。
  •   (2)Android Studio。
  •   (3)Android SDK。

  1.安装JDK

  见本书前面JDK环境安装的章节。

  2.安装SDK

  下载SDK文件,配置环境变量。首先建立%ANDROID_HOME%,然后在PATH中加入“%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;” 运行命令adb devices检查是否配置正确。

  利用Android Studio环境下建立UiAutomator环境,需要升级sdk中的tools目录,升级方法如下。

  (1)运行命令。

  C:\Users\xiang>cd %ANDROID_HOME%

  (2)把目录名tools改为tool。

  (3)运行命令。

  C:\ADT\sdk>cd tool\bin

  (4)运行命令。

  C:\ADT\sdk\tool\bin>sdkmanager –update

  (5)在update后,在%ANDROID_HOME%目录下产生新的文件夹tools目录下所有文件拷贝到tool下。

  (6)删除tools目录,把tool目录改名为tools。

  (7)运行命令。

  C:\ADT\sdk>cd %ANDROID_HOME%/tools/bin

  (8)运行命令。

  C:\ADT\sdk\tools\bin>sdkmanager ----licenses

  在这里,特别提醒,如果你不使用Android Studio,而使用Eclipse,SDK update后,使用Eclipse是会有问题的。

  三、配置开发测试代码

  1.建立Android Studio的SDK

  打开Android Studio,通过菜单“File->Other Settings->Default Project Structure”,选择刚才下载的SDK路径。见图4-1。

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)(2)

图4-1 给Android Studio配置SDK路径

  2. 建立测试工程

  通过菜单“File->New->New Project”,如图4-2,建立如下Add No Activity。

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)(3)

图4-2 建立一个No Activity项目

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)(4)

图4-3 配置这个No Activity项目

  进入下一步,进行如图4-3配置

  •   l Name:项目名称。
  •   l Package name:包名称。
  •   l Save location:项目的工作路径。
  •   l Language:使用的开发语言。
  •   l Minimum API level:最小API版本,注意在这里最小API版本不要小与18。

  配置成功后,把项目格式改为按Android视图模式查看,然后打开build.gradle。发现文件最后有如下配置。

  dependencies {

  implementation fileTree(dir: 'libs' include: ['*.jar'])

  implementation 'com.android.support:appcompat-v7:27.1.1'

  testImplementation 'junit:junit:4.12'

  androidTestImplementation 'com.android.support.test:runner:1.0.2'

  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

  }

  项目目录结构如图4-4所示

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)(5)

图4-4 项目目录结构

  Android Studio的类配置通过这里进行配置。一个Android Studio项目分层三个区域。

  •   l 普通单元测试区:可以使用的命令,testImplementation '包名'。
  •   l Android单元测试区:可以使用的命令,androidTestImplementation '包名'、testImplementation '包名'。
  •   l Android产品代码区:可以使用的命令,implementation '包名'。

  如果使用的是Android Studio 2.X版本,这里的Implementation都要改为Compile,即androidTestCompile '包名'、testCompile '包名'和compile '包名'。由于UiAutomation是属于Android单元测试框架的,所以通过命令:androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'加在命令最后,即。

  dependencies {

  implementation fileTree(dir: 'libs' include: ['*.jar'])

  implementation 'com.android.support:appcompat-v7:27.1.1'

  testImplementation 'junit:junit:4.12'

  androidTestImplementation 'com.android.support.test:runner:1.0.2'

  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

  androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'

  }

  如果希望把加入的与系统生成的独立开来,下面写法也是正确的。

  dependencies {

  implementation fileTree(dir: 'libs' include: ['*.jar'])

  implementation 'com.android.support:appcompat-v7:27.1.1'

  testImplementation 'junit:junit:4.12'

  androidTestImplementation 'com.android.support.test:runner:1.0.2'

  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

  }

  dependencies {

  androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'

  }

  通过如图4-5左边菜单栏或者右上方快捷键进行同步操作。

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)(6)

图4-5 根据Gradle Files同步项目

  同步完成,切换到Project视图模式,会在External Libraries 中找到相应的类,如图4-6所示。

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)(7)

图4-6 External Libraries结构

  最后在Android单元测试区建立测试代码myclass。(在src目录中的三个区,androidTest为Android单元测试区、test普通测试区、main为Android代码开发区),如图4-7所示

基于uiautomator的自动化测试框架(功能测试工具UiAutomator)(8)

图4-7 src目录中的三个区

  今天关于“功能测试工具:UiAutomator”就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!

猜您喜欢: