UiAutomator 2.0 入门使用

时间:2024-03-23 21:19:57

1.简单介绍下 :

a.这个 是一套安卓的测试框架,可以模拟一些人在手机上的操作,比如 ,点击,拖动,长按等..

b. 1.0 和2.0 版本改动很大,建议使用2.0版本,

c.UiAutomator 使用java语言编写.

d.UiAutoMator 据我目前的了解,只能抓取原生的安卓界面.不能找到app内嵌套的网页等..

 

2. 使用

1. 必要准备,必须搭建安卓开发环境 (可参考我的博客,我使用的安卓对呀的版本都是这篇博客上面的 https://blog.csdn.net/u012930316/article/details/90313443 )

2. 启动一个模拟器或者连接一个真机, 这里使用adb命令(关于adb的,可以去看另外的博客这里不写了)

3. 打开as ide,新建一个安卓项目 ,安卓版本可以选择 5.1 版本的,也可以更高,我这里选择5.1版本

 

 

UiAutomator 2.0 入门使用

 

UiAutomator 2.0 入门使用

新建完成后,引入uiautomator的包

在 app 目录下的build.gradle 添加

implementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'

这里图片上标记错了,是下面这行...

 

如图:

UiAutomator 2.0 入门使用

 

 

 

 

然后可以正式写代码了

 

新建test

@RunWith(AndroidJUnit4.class)

public class MKTest {

public Instrumentation minstrumentation;

public UiDevice mUiDevice;

 

 

@Before

public void setUp() {

minstrumentation = InstrumentationRegistry.getInstrumentation();

mUiDevice = UiDevice.getInstance(minstrumentation);

}

 

 

@Test

public void testDemo() throws RemoteException {

// 查看最近任务

mUiDevice.pressRecentApps();

}

@Test

public void isScreenOn() throws RemoteException {

if(!mUiDevice.isScreenOn()){ //唤醒屏幕

mUiDevice.wakeUp();

}else{

Log.i(TAG, "isScreenOn: 屏幕已经是亮的");

}

}

 

@Test

public void findDemo() {

// 这里运行的是计算器,系统自带的计算器界面 模拟点击

// 通过资源id的方式去找按钮,并点击一下

// UiObject2 object = mUiDevice.findObject(By.res("com.android.calculator2:id/digit_7"));

// 通过 按钮上的text 属性来查找

UiObject2 object = mUiDevice.findObject(By.text("7"));

if (object != null){

object.click();

}

}

 

}

 

 

 

在testDemo上 右键 run运行 ,选择要运行的手机环境(就是我们第二步的那个,想正常的安卓开发一样 ,就可以再模拟器上,或真机上看到 手机会系统打开,并且查看最近的任务.