博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Uiautomator之入门
阅读量:7057 次
发布时间:2019-06-28

本文共 2199 字,大约阅读时间需要 7 分钟。

优点:1.可以对所有操作进行自动化,操作简单;

     2.不需要对被测程序进行重签名,且,可以测试所有设备上的程序,比如~某APP,比如~拨号,比如~发信息等等

     3.对于控件定位,要比robotium简单一点点

 

缺点:1.uiautomator需要android level 16以上才可以使用,因为在level 16及以上的API里面才带有uiautomator工具

     2.如果想要使用resource-id定位控件,则需要level 18及以上才可以

     3.对中文支持不好(不代表不支持,第三方jar可以实现)

     4.个人感觉,控件定位不如robotium那样层级分明,仅仅个人感觉,用户行为注入还是和插桩有点点区别的

第一步、环境准备:

1.JDK1.8(1.7我试验了果断不好使,一点不惯病)

2.eclispse(IDE尊崇个人意愿)

3.android SDK以及配置

4.ANT(主要用于build我们的脚本,生成jar包)

ant的搭建主要分几步:1.下载ant安装文件并且解压安装;

                              2.新建系统环境变量ANT_HOME,参数值是你的ant安装目录;

                              3.在Path环境变量中添加ant安装目录的bin文件夹,比如我的就是C:\cod\apache-ant-1.9.6\bin

                              4.配置完以后,测试一下,在命令行下输入ant -version,如果显示你所安装的ant版本信息,证明环境变量配置成功

 

第二步、建立我们的测试工程:

一、建立Java Project(普通Java项目)

二、添加依赖jar

      对应安卓版本的jar,如我的是android-18

  android.jar

  uiautomator.jar

三、在测试工程src文件夹中add package,然后添加一个class文件,

随便写一个测试类:

如下:

package com.uiautomator.www;import com.android.uiautomator.core.UiDevice;import com.android.uiautomator.core.UiObject;import com.android.uiautomator.core.UiSelector;/** * 测试点击HOME键,启动51CTO应用 */import com.android.uiautomator.testrunner.UiAutomatorTestCase;/** *  * @author Administrator *     * */public class Demo extends UiAutomatorTestCase{    public  void testDemo() throws Exception{        UiDevice device = UiDevice.getInstance();        if (device.isScreenOn()) {            device.wakeUp();        }        UiObject object = new UiObject(new UiSelector().text("51CTO学院"));        object.click();    }}

四、查看当前查看对应android版本的SDK的ID值

android list target

 

五、创建测试:

运行命令:android create uitest-project -n <name> -t <android-sdk-ID> -p <project_path>

比如:

android create uitest-project -n AutoRunner -t 2 -p F:\workspace\DemoTest

 说明:

上面的name就是将来生成的jar包的名字,可以自己定义;android-sdk-ID就是上面看到的对应android版本的SDK id;path是Eclipse里刚才建立的测试工程的路径;运行命令后,将会在工程的根目录下生成build.xml文件。如果没生成,检查上面的步骤。

六、j编译生成jar

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

成功后,会在工程bin目录下生成对应名称的jar包

七、将jar包push到手机data/local/tmp目录下,

对应的命令是:adb push <jar文件路径> data/local/tmp

adb push AutoRunner.jar /data/local/tmp

八、运行测试:

然后使用命令行启动我们已经push进去的uiautomator脚本

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

adb push AutoRunner.jar /data/local/tmp

例:

adb shell uiautomator runtest AutoRunner.jar -c com.uiautomator.www.Demo

完成这一步后,手机会执行uiautomator脚本并且开始进行操作

 

转载地址:http://amrol.baihongyu.com/

你可能感兴趣的文章
把IP转成整数
查看>>
Android程序员眼中世界上最遥远的距离
查看>>
vim
查看>>
MacOs 开发环境设置
查看>>
Mac os远程登录Linux与文件传输
查看>>
Java随机数使用注意事项
查看>>
AngularJs学习日记[3]:ng-init
查看>>
git 删除错误提交的commit
查看>>
java泛型中T、E、K、V、?等含义
查看>>
python 运行 MySQL-python libmysqlclient.so.18: cannot open shared object file: No such file
查看>>
视频播放器推荐
查看>>
[root@AY140716161543837722Z ~]# man top
查看>>
C语言基础及指针⑩预编译及jni.h分析
查看>>
java打开IE浏览器
查看>>
PHP中$this的使用情况
查看>>
webview页面随设备分辨率缩放
查看>>
调侃面向对象编程的23种设计模式
查看>>
8-pandas聚合运算
查看>>
【绿色系统】如何恢复XP“显示桌面”按钮
查看>>
在ubuntu 11.10 下安装谷歌输入法
查看>>