[Android自动化测试]UiAutomator入门

今天第一次接触UiAutomator来做自动化测试,所以记录一下第一次使用UiAutomator的过程吧

首先是根据网上各种UiAutomator的各种教程搭建好java的环境,这里我看的是http://www.cnblogs.com/peng-lan/p/5923350.html(引用一下博主应该不会介意吧嘻嘻嘻),博主写的搭建过程还是蛮详细的。这里记得用sdk manager根据自己想测试的Android版本安装开发包,我用的是Android6.0。


安装好之后就是安装eclipse,推荐下载release包,不用安装即可使用值得拥有(网址:https://www.eclipse.org/downloads/eclipse-packages/),然后就是各种配置了。

接下来打开Eclipse新建project,然后在src目录下添加package,在package新建类,建完如下:


记得右键点击工程名字->Bulid Path->Configure Bulid Path在里面添加sdk开发包:


选择你安装的sdk的目录里面的platforms目录,再进到你下载的Android开发包的目录,添加里面的android.jar和uiautomator.jar

接下来你需要uiautomatorview来获取你手机上的控件,才能更好地设计你的代码,它在你的sdk安装目录的tools文件夹里,这里以我自己的手机为例,使用界面如下:


点击你想找的控件,可以在右下角看到各种信息,之后就可以在UiAutomatorDemo2.java中打代码了:

/**
 * 
 */
/**
 * @author Ming丶彬
 *
 */
package com.uiautomator.test2;

import java.io.IOException;
import android.graphics.*;  
import java.text.SimpleDateFormat;  
import java.util.Date;  
  
import android.os.SystemClock;  
  
import com.android.uiautomator.core.UiDevice;  
import com.android.uiautomator.core.UiObject;  
import com.android.uiautomator.core.UiObjectNotFoundException;  
import com.android.uiautomator.core.UiScrollable;  
import com.android.uiautomator.core.UiSelector;  
import com.android.uiautomator.testrunner.UiAutomatorTestCase;  
 
public class UiAutomatorDemo2 extends UiAutomatorTestCase{  
  
      
    public void testSetScreenOffTime() throws UiObjectNotFoundException, IOException{  
        //打开系统设置页面  
        getUiDevice().pressHome(); 
        sleep(3000);
        UiDevice uiDevice = getUiDevice();
        
        //打开设置
        UiObject setting = new UiObject(new UiSelector().text("设置"));
        //System.out.println(setting.isClickable());
        Rect r = setting.getBounds();
        System.out.println(r.centerX());
        System.out.println(r.centerY());
        UiDevice.getInstance().click(r.centerX(),r.centerY());
        
        try {
        	Thread.sleep(3000);
        }catch(InterruptedException e) {
        	e.printStackTrace();
        }
        
    }  
      
}  


这是一个简单的按一下Home返回主界面然后找到“设置”并点击,这里如果你的代码中像我一样如果出现了中文的话,记得在project的属性中设置编码,否则会报错找不到控件:


之后cmd进入sdk安装目录的tools目录下,执行:

android list查看sdk版本的id

android create uitest-project -n <name> -t <android-sdk-ID> -p <path>

其中name为将来生成的jar包的名字,可以自己定义,android-sdk-ID为找到的sdk版本的id,path是工程的路径名称

如:android create uitest-project -n AutoRunner -t 1 -p E:\code\UiAutomatorDemo2

这时候在工程目录下会出现一个build.xml文件,cmd在工程目录下执行ant build会在bin目录下生成jar包,将手机连接电脑,将jar包push进手机:

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

实际为:adb push E:\code\UiAutomatorDemo2\bin\AutoRunner.jar data/local/tmp

执行jar包:adb shell uiautomator runtest <jar文件名> -c <包名.类名>

实际命令:E:\code\UIAutomatorDemo2\bin>adb shell uiautomator runtest AutoRunner.jar -c com.uiautomator.test2.UiAutomatorDemo2(包名、类名一定要对应)

执行后cmd结果如下:


可以在手机上可以看到它自动返回了主界面并且点击了“设置”按钮,这里放不了手机的录屏没法展示出来了orz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值