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

功能测试工具:UiAutomator

yuyutoo 2025-01-13 18:57 1 浏览 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”就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!

相关推荐

如何在HTML中使用JavaScript:从基础到高级的全面指南!

“这里是云端源想IT,帮你...

推荐9个Github上热门的CSS开源框架

大家好,我是Echa。...

前端基础知识之“CSS是什么?”_前端css js

...

硬核!知网首篇被引过万的论文讲了啥?作者什么来头?

整理|袁小华近日,知网首篇被引量破万的中文论文及其作者备受关注。知网中心网站数据显示,截至2021年7月23日,由华南师范大学教授温忠麟等人发表在《心理学报》2004年05期上的学术论文“中介效应检验...

为什么我推荐使用JSX开发Vue3_为什么用vue不用jquery

在很长的一段时间中,Vue官方都以简单上手作为其推广的重点。这确实给Vue带来了非常大的用户量,尤其是最追求需求开发效率,往往不那么在意工程代码质量的国内中小企业中,Vue占据的份额极速增长...

【干货】一文详解html和css,前端开发需要哪些技术?
【干货】一文详解html和css,前端开发需要哪些技术?

网站开发简介...

2025-02-20 18:34 yuyutoo

分享几个css实用技巧_cssli

本篇将介绍几个css小技巧,目录如下:自定义引用标签的符号重置所有标签样式...

如何在浏览器中运行 .NET_怎么用浏览器运行代码

概述:...

前端-干货分享:更牛逼的CSS管理方法-层(CSS Layers)

使用CSS最困难的部分之一是处理CSS的权重值,它可以决定到底哪条规则会最终被应用,尤其是如果你想在Bootstrap这样的框架中覆盖其已有样式,更加显得麻烦。不过随着CSS层的引入,这一...

HTML 基础标签库_html标签基本结构
HTML 基础标签库_html标签基本结构

HTML标题HTML标题(Heading)是通过-...

2025-02-20 18:34 yuyutoo

前端css面试20道常见考题_高级前端css面试题

1.请解释一下CSS3的flexbox(弹性盒布局模型),以及适用场景?display:flex;在父元素设置,子元素受弹性盒影响,默认排成一行,如果超出一行,按比例压缩flex:1;子元素设置...

vue引入外部js文件并使用_vue3 引入外部js

要在Vue中引入外部的JavaScript文件,可以使用以下几种方法:1.使用``标签引入外部的JavaScript文件。在Vue的HTML模板中,可以直接使用``标签来引入外部的JavaScrip...

网页设计得懂css的规范_html+css网页设计

在初级的前端工作人员,刚入职的时候,可能在学习前端技术,写代码不是否那么的规范,而在工作中,命名的规范的尤为重要,它直接与你的代码质量挂钩。网上也受很多,但比较杂乱,在加上每年的命名都会发生一变化。...

Google在Chrome中引入HTML 5.1标记

虽然负责制定Web标准的WorldWideWebConsortium(W3C)尚未宣布HTML5正式推荐规格,而Google已经迁移到了HTML5.1。即将发布的Chrome38将引入H...

HTML DOM 引用( ) 对象_html中如何引用js

引用对象引用对象定义了一个同内联元素的HTML引用。标签定义短的引用。元素经常在引用的内容周围添加引号。HTML文档中的每一个标签,都会创建一个引用对象。...

取消回复欢迎 发表评论: