</pre>很久没更新博客了,今天至后期的一段时间将带给大家的是<span style="font-family: 微软雅黑; font-size: 14px; line-height: 21px; widows: auto;">UiAutomator android的自动测试框架,一系列的介绍,希望大家喜欢。</span><p></p><p><span style="font-family: 微软雅黑; font-size: 14px; line-height: 21px; widows: auto;"><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">采用uiautomator编写的自动化测试工具则可以实现基于UiSelector选择直接操作uiObject来编写</span><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">基于属性操作具备移植性的测试</span><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">。它有个弱点就是<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">在于都是</span><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">基于像素位置操作,不具备移植性,</span></span></span></p><p><span style="font-family: 微软雅黑; font-size: 14px; line-height: 21px; widows: auto;"><span style="font-family: Arial; font-size: 14px; line-height: 26px;"><span style="font-family: Arial; font-size: 14px; line-height: 26px;"></span></span></span></p><p style="font-family: Arial; font-size: 14px; line-height: 26px;"><span style="color:#ff0000;">注:</span></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">android官方给出的版本条件如下,若低于这些版本请先下载新版本</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;"><strong>Android SDK Tools, Revision 21 or higherAndroid SDK Platform, API 16 or higher</strong></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">在开始测试前请先配置好你的环境变量(环境变量的搭建请大家百度),java JDK请使用1.7</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">本次的说明主要是在eclipse开发工具中讲解</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">我们首先打开eclipse创建以个java项目,记住是java项目,创建自己的包名,创建libs文件夹,用于存放我们的jar包,用到的jar包<img src="https://img-blog.csdnimg.cn/2022010617435544548.png" alt="" /></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">   <strong>他在文件的</strong></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;"><img src="https://img-blog.csdnimg.cn/2022010617435518804.png" style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;" alt="" /></p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">上图我用的是android 19包下面的jar包,将jar包拷贝到libs文件夹中,并且将jar包导入到项目中,</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">下面我们将开始进行编程了:</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">在包中创建Class(类) 我创建的类Test   他必须继承 UiAutomatorTestCase </p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">接下来就是创建方法,注意的是方法名必须是test开头,不要问我为什么,这是规矩,</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">如下面的代码</p><p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;"><strong></strong></p><pre name="code" class="java">public void testDemo() throws UiObjectNotFoundException{UiDevice.getInstance().pressHome();//点击home键UiObject browser=new UiObject(new UiSelector().text("互联网"));//找到浏览器browser.clickAndWaitForNewWindow();//点击浏览器UiObject edit=new UiObject(new UiSelector().className("android.widget.EditText"));//得到浏览器中的网页输入框edit.click();//点击输入框这样就能使光标在输入框上UiDevice.getInstance().pressDelete();//删除浏览框中的网址edit.setText("www.baidu.com");//设置我们想输入的网址UiDevice.getInstance().pressEnter();//回车进行浏览,在部分手机不支持回车浏览,可以使用上面的方式得到浏览按钮在点击进行浏览sleep(3000);}

代码中主要是实现找到手机自带的浏览器并且点击进入实现自动输入www.baidu.com,并进行浏览

在这里大家就会问怎么才能等到手机上面的浏览器已经手机上的输入框,下面将通过图解来给大家呈现:

在eclipse中有的图标如果没有请在

进行添加

当手机通过adb连接上电脑后再eclipse中就会出现如同:

选中我们的手机,我用的手机是samsumg 点击上图红框的图,就会出现如下图

鼠标在左侧移动式就有个红色的框框跟随你移动右面就会显示框框选中的app的属性,如,

通过上面的方式我们打开浏览器:

再继续找浏览器中输入网址的文本框如下图:

这样就能通过class来找到文本框,

完成上面的代码我们

我盟在dos命令窗体中输入android create uitest -project -n uidemo -t 1 -p E:\xingdun\Test

为了方便大家我们可以在我们创建的java工程文件夹下面 我的工程文件在

按住shifi 右键鼠标就会出现在“在此处打开命令窗口”

在命令窗口 android create uitest -project -n uidemo -t 1 -p E:\xingdun\Test

出现“added file  xxxxxxxx”表示成功

我们回到eclipse中刷新我们的项目就会出现  一个build.xml文件,

打开这个文件 将最上面的 default =“ help”修改成build ,保存,

run as  这个build ,不是项目

控制台出现如图表示成功

这时我们将我们的demo.jar  这里大家会问为什么是demo.jar  这里的demo.jar来源于build中的 <project name="demo" default="build">  project name

接下来就是将我们的demo.jar通过adb push到我们的手机中

成功将在命令窗口显示多少K,表示成功

接下来就是开始运行我们的程序,运行程序我们可以继续通过adb来运行,

在命令窗体输入adb shell uiautomator runtest demo.jar -c com.test.Test点击回车这样就能看见我们的劳动成果了

说明  runtest demo.jar 中的demo.jar是我们复制到手机中的jar包, -c 后面的com.test.Test 是我们的项目包名+类名,由于我们的项目只有一个方法就直接

跟的包名+类名,其实最全面的写法是在包名后面还有跟#和方法名,有多少方法就直接#多少方法。

想要更多的编程学习资料,请关注微信公众号:IT010101

UiAutomator Android 的自动测试框架(基础)相关推荐

  1. 【Karma】多环境自动测试框架 -- 基础教程

    介绍 前身 Testacular, AngularJs Team 创建出来的. 以下是官网对Karma的相关特点介绍 支持真实浏览器, 无浏览器PhantomJS 热更新,文件变化后自动测试 测试框架 ...

  2. python主讲移动端自动化测试框架appium_Appium-移动端自动测试框架,如何入门?...

    Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试. 它使用WebDriver协议驱动iOS,Android和Windows应用程序. Appium是在手机操作系统自带的测 ...

  3. 软件自动测试框架,软件自动化测试框架的研究和实现

    摘要: 软件自动化测试是软件工程领域的一项重要课题.随着软件工程理论的不断发展,软件自动化测试在理论上也不断达到新的高度.目前最为成熟的软件自动化测试技术是使用自动测试框架来指导自动化测试的实现.迄今 ...

  4. android 测试 大赛,轻量级android应用自动测试工具-2017全国大学生软件测试大赛.pdf...

    轻量级android应用自动测试工具-2017全国大学生软件测试大赛 DroidBot: A Lightweight Android App Testing Bot 轻量级Android应用自动测试工 ...

  5. PHP自动测试框架Top 10

    2019独角兽企业重金招聘Python工程师标准>>> 对于很多PHP开发新手来说,测试自己编写的代码是一个非常棘手的问题.如果出现问题,他们将不知道下一步该怎么做.花费很长的时间调 ...

  6. 小程序自动测试框架——Minium(一、环境搭建)

    MiniTestDescriptionhttps://minitest.weixin.qq.com/#/minium/Python/readme 简介 微信官方为小程序自动化测试专门开发的框架,不仅可 ...

  7. Metasploit渗透测试框架基础

    Metasploit 简介: Metaspolit是一个渗透测试框架,属于框架,是模块化组成的,是一个免费的可下的框架,通过它可以很容易的获取.开发并对计算机软件漏洞实现 metaspliot时候,计 ...

  8. WF+WCF+WPF第三天-WF实现一个软件自动测试框架

    WF是一组顺序活动组成的流程,那么我们可以通过WF流程去实现自动化测试了:比如让WF自动去点击页面,对对应的控件输入值,自动的做些人为的操作. 模拟测试,而我们只要定制测试流程即可. 参考来源:htt ...

  9. Android 2018优秀开源框架整理收藏

    中级.高级.资深工程师 知其然知其不可然 <框架百大排行榜>里所提到的流行词.流行术语--使用能力.融会贯通其原理.讲解框架能力的高低,将让你不断的在这三个级别徘徊: 会有意识的合并榜单里 ...

最新文章

  1. 跨平台抓包软件,可以替代Fiddler
  2. 计算机视觉模型效果不佳,你可能是被相机的Exif信息坑了
  3. asp.net访问sqlserver获取数据、IsPostBack属性和VS可视化调试的概念
  4. 拼多多技术事故复盘,程序员应该学到什么?
  5. 架空输电线路运行规程_架空输电线路通道与环境隐患、缺陷及故障图文初识
  6. Linux中搭建一个ftp服务器详解
  7. Strange Birthday Party CodeForces - 1471C
  8. python enumeration_python枚举防止无效的属性分配
  9. @Async,@Transational注解失效的原因和解决方法
  10. ActiveMQ, RabbitMQ和ZeroMQ 选型关注点
  11. Url解码,兼容utf-8和gb2312
  12. SCPPO(一):禅道的安装
  13. BigDecimal类的常用算法
  14. HDU 5570:balls 期望。。。。。。。。。。。。。。。
  15. 一起来读you don't know javascript(一)
  16. 中值滤波器的matlab实现
  17. 中国科技统计年鉴面板数据Excel格式(2009-2019年)
  18. php解密方法,php加密解密的几种方法的使用教程
  19. 超有爱的并查集 6666
  20. Ubuntu20.04+Nvidia RTX 3060 显卡驱动安装

热门文章

  1. 古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
  2. 安卓使用connectbot连接centos云服务器
  3. SPDK Delay Bdev 介绍及应用实例
  4. 【正点原子Linux连载】第二十三章 音频应用编程-摘自【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.1
  5. 计算机主机灯,谁能给我说下电脑机箱灯怎么关
  6. 天津大学《计算机应用基础》在线
  7. [乐意黎原创] 手动挡驾驶技巧
  8. 淘宝非标品类目商品开车如何选词?[淘宝插旗、创建订单api]
  9. c++ - 信息学奥赛一本通答案1001
  10. STM32-ISP烧录检测不到芯片问题