Uiautomator自动化测试编写和调试

参考:http://www.2cto.com/kf/201610/559031.html

在Eclipse中编写,新建java程序而不是Android程序

(其中截图都为windows下,同Linux)

1.建立java项目

(1)选择File-New-JavaProject

(注意:是java proect)

 

(2)输入Project Name

输入Project name:GldTest,选择JRE自己的版本,点击Next,下一步

 

(3)添加Android

路径sdkplatformsandroid-19下的android.jar和uiautomator.jar(尽量18以上);

选择Add External TARS—android.jar,uiautomator.jar两个jar包加入-OK;

 

添加android-list之后样式:

 

(4)添加JUnit库:

Libraries-AddLibrary-Junit-Junit4-Finash,添加AddLibrary,选择JUnit之后再选择JUnit4,点击Finish;

 

(5)添加android库和JUnit4之后样式

 

(6)另一种方式添加Android库和JUnit4

点击项目名字右击—BuildPath—Configure Build Path……

 

以上环境建立中之后,我们开始建包和类,开始我们的第一个项目;

2.添加包Package并命名

一般是先有项目,项目下有个src,src下建包,包里放我们写的类;

(1)点击src右击-New—Package

(2)输入包名

Name:testPackage-点击Finish;注意:包名一般第一个小写,之后英文第一个首字母大写;

3.包下建类Class

(1)添加类

右击testPackage-New-Class,新建一个类:

(2)输入类名:

Name:TestClass,然后点击Finish;类名:一般第一个字母大写,采用驼峰式命名;

4.类中写代码

刚开始接触,我们写一个简单的代码,实现手机桌面点击“时钟”进入即可;(由于大家刚接触,所以我们就写简单的,后续我们会加深)

(1)启动uiautomator.bat定位“时钟”元素

首先确定电脑已经通过USB连接上手机;然后我们要知道通过哪些方式能够找到“时钟”,然后才能点击“时钟”;

打开我们的android-skd安装目录,在tools下找到点击uiautomator.bat,点击启动,等待几秒,就会弹出我们的手机界面,我们用鼠标点击“时钟”,右侧就会有相应的属性和参数;

页面中我们看到text值显示着“时钟”所以我们采用text属性,去定位找“时钟”;在实际操作中我们还可以通过index、resource-id、class、package、content-desc去定位元素,或者多个一起使用去定位元素,后续我们再说,今天我们用text去定位,需注意,如果大家看到界面text后是一些???问号的话,不是我们的工具有问题,是手机系统版本有问题,如果能升级就升级,安卓4.4.2以下是不支持text属性的;

(2)写代码

代码写好之后,我们要开始去运行我们的代码;

5.运行代码步骤

(1)查找Sdk的id

计算机-运行-cmd进入到自己sdk ools目录下,输入android list(安卓建立工程时我选择是19,所以我要找19的id)

(2)创建build文件(sdk ools下)

sdk ools目录下,输入以下命令:

命令

android create uitest-project –n -t -path

解释

是将来生成jar包的名字;

path是我们工程的路径地址,我们工程路径在:F:lianxiworkspaceGldProject;

sdk-id是androidlist查看到的;

举例:android create uitest-project -n AutoRunner(测试工程名) -t 1 -p F:lianxiworkspaceGldProject

命令运行之后,在工程的根目录下生成build.xml文件,图见下:

(3)编译生成jar包(工程目录下)

cmd进入到工程目录下(工程目录就是我们的文件保存路径),然后运行ant build

(若未装ant,输入命令:sudo apt install ant)

最后会显示build成功

Build成功之后,在工程bin目录下生成jar文件,我们5.(2)中命名为AutoRunner.jar的文件:

(4)将jar包push到手机

将电脑中的AutoRunner.jar包自动发送到手机,我们不需要发送手机,直接通过push命令就可以将包放入手机;

命令:adb push data/local/tmp (意思就是将电脑中AutoRunner.jar文件放到手机data/local/tmp目录下)

举例:adb push F:lianxiworkspaceGldProjectinAutoRunner.jardata/local/tmp

(5)运行jar文件

命令:adb shell uiautomator runtest -c <包名.类名>

举例:adb shell uiautomator runtest AutoRunner.jar -c testPackage.TestClass

附:包名类名简图:

注意:包名.类名可不能写错.以上就完成了,uiautomator自动化测试;

以上是最麻烦的在dos环境运行的方式,接下来我们可以借助UiAutomatorHelper.java类去执行测试;

原文地址:https://www.cnblogs.com/boot/p/6879288.html