码迷,mamicode.com
首页 > 其他好文 > 详细

Uiautomator之入门

时间:2020-12-05 10:33:39      阅读:3      评论:0      收藏:0      [点我收藏+]

标签:tmp目录   新建   jar包   tps   jdk   系统   image   cli   jar   

Uiautomator之入门

优点: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脚本并且开始进行操作

技术图片

EOF

本文作者:久曲建的测试窝
本文链接:https://www.cnblogs.com/longronglang/p/6431304.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
优秀不够,你是否无可替代

软件测试交流QQ群:721256703,期待你的加入!!

欢迎关注我的微信公众号:软件测试君
技术图片

Uiautomator之入门

标签:tmp目录   新建   jar包   tps   jdk   系统   image   cli   jar   

原文地址:https://blog.51cto.com/15009374/2557531

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!