uiautomator做自动化的过程

UIautiomator官网地址:http://android.toolib.net/sdk/index.html

1.环境搭建

使用uiautomator需要导入jar包,uiautomator.jar和android.jar,位置在sdk/platforms/android*使用时需要注意自己的SDK版本需要大于16, SDK Tools版本需要大于21.如我下面跟新后SDK后出现了很多工具,以下是你需要使用到的工具

创建一个Java project项目

1.

2添加java Build path,创建一个library的个(不创建也可以)导入需要用到uiatuomator.jar和Android.jar,我使用的是Android19

因为博主使用的是junit做断言,所以也导入junit的包

导入了所有需要的包了,现在开始编码了

2.编码

完成后,编码中编码,根据自己需要的场景编码,如博主中中部分编码的截图:

uiatuomator使用还是挺简单,原理我还没有去深研究,因为今天主要写使用过程,就不追溯他的实现了,在使用uiatuomator时你必须明白几个类

UiAutomatorTestCase
UiDevice
UiSelector
UiScrollable
UiObject
UiWatcher

3.运行

编译和运行

1.创建build文件

  在\Android-sdk\tools\目录下,运行命令android create uitest-project -n <name> -t <android-sdk-ID> -p <path>

  eg:

    android create uitest-project -n AutoRunner -t 6 -p e:\workspace\AutoRunner

E:\Soft\JAVA\adt-bundle-windows-x86_64-20131030\sdk\platforms\android-19

    上面的name就是将来生成的jar包的名字,可以自己定义,android-sdk-ID就是上面看到的6;path是Eclipse新

    建的工程的路径;运行命令后,将会在工程的根目录下生成build.xml文件。

需要知道自己的sdk版本号,注意:可能提示版本太低,实际上已满足要求,解决方案:1.升级SDK 2.在sdk的bin目录下用Android list target命令 查询这个版本号

2.编译生成jar

    CMD进入项目的工程目录,然后运行ant build,将使用ant编译生成jar,成功将会提示:

    BUILD SUCCESSFUL

    Total time:1 second

还有直接使用eclipse直接生成,选择build右键------>run as---->ant build

直接更改build.xml文件,更改为“default="build"”,在进行一次build

3.push并运行jar

    将jar包push 到模拟器或者真实安卓设备

    adb push <jar文件路径> data/local/tmp

    eg:

    adb push e:\workspace\AutoRunner\bin\AutoRunner.jar data/local/tmp

    adb -s emulator-5554 push e:\workspace\AutoRunner\bin\AutoRunner.jar data/local/tmp

    运行jar包

    adb shell uiautomator runtest <jar文件名> -c <工程中的类名,包含包名>

    eg:

    adb shell uiautomator runtest AutoRunner.jar -c com.Runner

    adb -s emulator-5554 shell uiautomator runtest AutoRunner.jar -c com.Runner(虚拟机)

时间: 2024-12-12 12:21:57

uiautomator做自动化的过程的相关文章

使用uiautomator做UI测试

转载~~~~~~~~~~~~~~~~~~~~~~~~ 若有侵权,请及时联系本博主,博主将第一时间撤销 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 登陆界面 分别输入正确和错误的用户名密码然后点击登陆按钮看看是否能否登陆以及是否有错误提示等. 功能性或者黑盒UI测试不需要测试人员了解程序如何实现的,只需要验证各种操作的结果是否符合预期即可.这样的

[zhuan]使用uiautomator做UI测试

http://blog.chengyunfeng.com/?p=504 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 登陆界面 分别输入正确和错误的用户名密码然后点击登陆按钮看看是否能否登陆以及是否有错误提示等. 功能性或者黑盒UI测试不需要测试人员了解程序如何实现的,只需要验证各种操作的结果是否符合预期即可.这样的测试可以分离团队的开发人员和测

写给想做自动化的我和我们

写在前面 进入测试行业多年,一直都是在做手工测试或者半自动测试.也接触了很多同行,都很迫切的希望能做自动化测试,其中不乏工作5年以上的人群. 我也做测试多年,因没有编程能力,没有拿得出手的测试高技能,经常为换工作苦苦挣扎,切身体会到没有自动化技能的痛楚.在此,借鉴下前辈们大牛们的经验,总结些个人体验和所得. 想做自动化,首先得了解自动化测试一些常见的问题 1.什么叫自动化? 自动化测试,就是把以人为驱动的测试行为转化为机器执行的一种过程.即模拟手工测试步骤通过执行程序语言编制的测试脚本自动地测试

AppVeyor-CI为GitHub项目做自动化集成(dotnet为主)

travis-ci对dotnet的项目做自动化集成不太友好,尤其是使用mono的编译和不能使用MSTest进行自动化测试,所以转到appveyor进行. appveyor的配置非常简单,有两种方式: 一.全部使用appveyor的后台进行,不需要配置一个yml文件,之后自动下载yml文件上传到项目,或者省略这部,手动点击build. 二.手动编写yml文件,然后结合后台进行,自由度比较高. 主要做法: 1.关联github账号 2.添加github上的项目 3.编写yml项目,只需要置顶.sln

AIX做Mirror的过程

AIX做系统镜像  1. 用lspv查看系统中可用的物理硬盘 确定要做镜像盘的卷组,例如系统装在hdisk0物理盘上,把hdisk1做成系统盘的rootvg卷组的镜像. 2. #smittyextendvg "Force the creation of a volume group?"选择"yes",强制加 入卷组  "VOLUME GROUP name"选择"rootvg" "PHYSICAL VOLUME nam

kickstart自动化安装过程(搜索整理)

Kickstart自动安装配置文档(NFS+http版本) 一.什么是PXE?PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术, 工作于Client/Server的网络模式.严格来说,PXE 并不是一种安装方式,而是一种引导方式.进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client.PXE (Pre-boot Execution Environment)协

为什么做自动化,什么情况下做

1.减少人力成本 2.完成大量重复性工作 3.提高测试效率 4.保证工作的一致性,增加信任度 5.完成手工不能完成的工作 什么情况下做? 单元测试 集成测试 接口测试 UI测试? 什么样的项目做自动化? 1.需求变更慢 2.周期长 3.脚本可重复利用 ? 原文地址:https://www.cnblogs.com/askill/p/10373587.html

讲一下数据分析有哪些步骤,在你做项目的过程中哪个步骤需要花费的时间最久?为什么?

数据分析的步骤 1.定义问题,明确需要解决的需求是什么. 2.问题拆分.对于最终需要解决或探索的问题,进行细分,拆分成不同层面的问题. 3.确定指标.根据不同的细分问题,确定需要探索的指标 4.数据收集.收集整理分析项目所需的数据. 5.数据清洗.删除重复数据,异常值,缺失值处理她,特征筛选,数据归一化或标准化处理. 6.数据分析.对相关数据指标进行描述分析,利用可视化进行探索性分析. 7.趋势预测.根据数据建立数据挖掘模型,利用历史数据预测未来数据,并提升预测精度. 8.撰写报告.梳理分析结论

人工智能和自动化改善过程挖掘的6种方法

人工智能和自动化改善过程挖掘的6种方法 创建企业的数字孪生.识别机器人流程自动化(RPA)等自动化技术并将孤立的任务连接到流程中,是首席信息官推进流程时发现的几种方法. 数字创新要求企业学习如何理解.管理和更改日益复杂的流程.新一代的过程挖掘工具有望使自动解释现代企业的数字资产变得更加容易,以帮助改善决策.推动创新以及提供产品和服务. 总部位于德国的Celonis公司的首席执行官兼联合创始人Alexander Rinke说,“通过了解流程的实际运行方式,企业可以创造运营的流动性,从而推动更高效的