UiAutomator 2.0 入门使用

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的包

在 app 目录下的build.gradle 添加

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

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

 

如图:

 

 

 

 

然后可以正式写代码了

 

新建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运行 ,选择要运行的手机环境(就是我们第二步的那个,想正常的安卓开发一样 ,就可以再模拟器上,或真机上看到 手机会系统打开,并且查看最近的任务.

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UIAutomator2是一个Android自动化测试框架,可以用于编写和执行Android UI测试用例。以下是使用UIAutomator2的步骤: 1. 安装Appium和UIAutomator2 2. 配置Appium启动参数,启用UIAutomator2 3. 编写测试用例,使用UIAutomator2 API进行测试 4. 运行测试用例,查看测试结果 例如,以下是一个使用UIAutomator2 API的测试用例示例: ``` import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import io.appium.java_client.remote.MobileCapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.annotations.Test; import java.net.URL; public class MyTest { @Test public void myTestCase() throws Exception { // 设置Appium启动参数,启用UIAutomator2 DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2"); capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device"); capabilities.setCapability(MobileCapabilityType.APP_PACKAGE, "com.android.calculator2"); capabilities.setCapability(MobileCapabilityType.APP_ACTIVITY, ".Calculator"); // 连接Appium服务器 AndroidDriver<AndroidElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); // 查找元素并进行操作 AndroidElement element1 = driver.findElementById("com.android.calculator2:id/digit_1"); element1.click(); AndroidElement element2 = driver.findElementById("com.android.calculator2:id/op_add"); element2.click(); AndroidElement element3 = driver.findElementById("com.android.calculator2:id/digit_2"); element3.click(); AndroidElement element4 = driver.findElementById("com.android.calculator2:id/eq"); element4.click(); // 断言结果 String result = driver.findElementById("com.android.calculator2:id/result").getText(); assert(result.equals("3")); // 关闭连接 driver.quit(); } } ``` 这个测试用例打开了安卓计算器应用程序,输入1和2,然后单击加号按钮和等于号按钮,最后断言结果是否为3。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值