川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

功能测试工具:UiAutomator

作者:川石学院 日期:2022-02-15 17:20:49 点击数:

  一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“功能测试工具: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(图2)

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

  2. 建立测试工程

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

功能测试工具:UiAutomator(图3)

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

功能测试工具: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(图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(图6)

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

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

功能测试工具:UiAutomator(图7)

图4-6 External Libraries结构

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

功能测试工具:UiAutomator(图8)

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

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


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2022-02-15 17:20:49
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2022-02-15 17:20:49
  • 国外的月亮也不一定比国内测试猿的年薪美~2022-02-15 17:20:49
  • 建筑工程专业朱同学成功转行为软件测试人!2022-02-15 17:20:49
  • 财务管理专业转行软件测试月薪甩会计几条街!2022-02-15 17:20:49
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2022-02-15 17:20:49
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2022-02-15 17:20:49
  • 文科生转行软件测试照样拿下高薪15K!2022-02-15 17:20:49
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2022-02-15 17:20:49
  • 毕业1年,迷茫的他最终选择转行软件测试2022-02-15 17:20:49