百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

功能测试工具:UiAutomator

yuyutoo 2025-01-13 18:57 4 浏览 0 评论

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

  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。

  2. 建立测试工程

  通过菜单“File->New->New Project”,如图4-2,建立如下Add 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所示

  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左边菜单栏或者右上方快捷键进行同步操作。

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

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

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

相关推荐

墨尔本一华裔男子与亚裔男子分别失踪数日 警方寻人

中新网5月15日电据澳洲新快网报道,据澳大利亚维州警察局网站消息,22岁的华裔男子邓跃(Yue‘Peter’Deng,音译)失踪已6天,维州警方于当地时间13日发布寻人通告,寻求公众协助寻找邓跃。华...

网络交友须谨慎!美国犹他州一男子因涉嫌杀害女网友被捕

伊森·洪克斯克(图源网络,侵删)据美国广播公司(ABC)25日报道,美国犹他州一名男子于24日因涉嫌谋杀被捕。警方表示,这名男子主动告知警局,称其杀害了一名在网络交友软件上认识的25岁女子。雷顿警...

一课译词:来龙去脉(来龙去脉 的意思解释)

Mountainranges[Photo/SIPA]“来龙去脉”,汉语成语,本指山脉的走势和去向,现比喻一件事的前因后果(causeandeffectofanevent),可以翻译为“i...

高考重要考点:range(range高考用法)

range可以用作动词,也可以用作名词,含义特别多,在阅读理解中出现的频率很高,还经常作为完形填空的选项,而且在作文中使用是非常好的高级词汇。...

C++20 Ranges:现代范围操作(现代c++白皮书)

1.引言:C++20Ranges库简介C++20引入的Ranges库是C++标准库的重要更新,旨在提供更现代化、表达力更强的方式来处理数据序列(范围,range)。Ranges库基于...

学习VBA,报表做到飞 第二章 数组 2.4 Filter函数

第二章数组2.4Filter函数Filter函数功能与autofilter函数类似,它对一个一维数组进行筛选,返回一个从0开始的数组。...

VBA学习笔记:数组:数组相关函数—Split,Join

Split拆分字符串函数,语法Split(expression,字符,Limit,compare),第1参数为必写,后面3个参数都是可选项。Expression为需要拆分的数据,“字符”就是以哪个字...

VBA如何自定义序列,学会这些方法,让你工作更轻松

No.1在Excel中,自定义序列是一种快速填表机制,如何有效地利用这个方法,可以大大增加工作效率。通常在操作工作表的时候,可能会输入一些很有序的序列,如果一一录入就显得十分笨拙。Excel给出了一种...

Excel VBA入门教程1.3 数组基础(vba数组详解)

1.3数组使用数组和对象时,也要声明,这里说下数组的声明:'确定范围的数组,可以存储b-a+1个数,a、b为整数Dim数组名称(aTob)As数据类型Dimarr...

远程网络调试工具百宝箱-MobaXterm

MobaXterm是一个功能强大的远程网络工具百宝箱,它将所有重要的远程网络工具(SSH、Telnet、X11、RDP、VNC、FTP、MOSH、Serial等)和Unix命令(bash、ls、cat...

AREX:携程新一代自动化回归测试工具的设计与实现

一、背景随着携程机票BU业务规模的不断提高,业务系统日趋复杂,各种问题和挑战也随之而来。对于研发测试团队,面临着各种效能困境,包括业务复杂度高、数据构造工作量大、回归测试全量回归、沟通成本高、测试用例...

Windows、Android、IOS、Web自动化工具选择策略

Windows平台中应用UI自动化测试解决方案AutoIT是开源工具,该工具识别windows的标准控件效果不错,但是当它遇到应用中非标准控件定义的UI元素时往往就无能为力了,这个时候选择silkte...

python自动化工具:pywinauto(python快速上手 自动化)

简介Pywinauto是完全由Python构建的一个模块,可以用于自动化Windows上的GUI应用程序。同时,它支持鼠标、键盘操作,在元素控件树较复杂的界面,可以辅助我们完成自动化操作。我在...

时下最火的 Airtest 如何测试手机 APP?

引言Airtest是网易出品的一款基于图像识别的自动化测试工具,主要应用在手机APP和游戏的测试。一旦使用了这个工具进行APP的自动化,你就会发现自动化测试原来是如此简单!!连接手机要进行...

【推荐】7个最强Appium替代工具,移动App自动化测试必备!

在移动应用开发日益火爆的今天,自动化测试成为了确保应用质量和用户体验的关键环节。Appium作为一款广泛应用的移动应用自动化测试工具,为测试人员所熟知。然而,在不同的测试场景和需求下,还有许多其他优...

取消回复欢迎 发表评论: