首先在 build里添加
androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
在androidtest的包下建立文件即可
package com.first.auto.myapplications; import android.app.Instrumentation; import android.view.KeyEvent; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.runner.AndroidJUnit4; import androidx.test.uiautomator.By; import androidx.test.uiautomator.UiDevice; import androidx.test.uiautomator.UiObject2; /** * 用例注释生命周期 * @before 每次用例开始前都执行--初始化 * @Test 测试用例 * 独立性 * 断言:关键步骤断言 * * @After 回复清理 * 每次用例结束后都执行 * * 滑动解锁 * 8*9=72 * 长按删除结果 * 有时执行失败是由于手机反应慢,添加延时即可 * */ @RunWith(AndroidJUnit4.class) public class CalculateTest { private Instrumentation mInstrumentation; private UiDevice mUiDevice; @Before public void setUp() throws InterruptedException { mInstrumentation = InstrumentationRegistry.getInstrumentation(); mUiDevice = UiDevice.getInstance(mInstrumentation); //初始化 滑动解锁,主屏幕 屏幕 滑动,按键 mUiDevice.swipe(365, 1387, 365, 83, 10); mUiDevice.pressKeyCode(KeyEvent.KEYCODE_HOME); mUiDevice.pressKeyCode(KeyEvent.KEYCODE_HOME); } @Test public void add() throws InterruptedException { /** * 打开计算器 计算器图标 坐标 * */ Thread.sleep(1000); mUiDevice.click(286, 592); Thread.sleep(2000); /** * 8*9=72 然后长按删除 * */ /** * 点击8 * */ mUiDevice.findObject(By.res("com.android.calculator2:id/digit_8")).click(); /** * 点击“+” * */ mUiDevice.findObject(By.res("com.android.calculator2:id/op_add")).click(); /** * 点击9 * */ mUiDevice.findObject(By.res("com.android.calculator2:id/digit_9")).click(); /** * 点击= * */ mUiDevice.findObject(By.res("com.android.calculator2:id/eq")).click(); Thread.sleep(2000); /** * 断言验证结果 * */ UiObject2 uiObject2 = mUiDevice.findObject(By.res("com.android.calculator2:id/formula")); String mutResult = uiObject2.getText().trim(); Assert.assertEquals("17", mutResult); } @Test public void des() throws InterruptedException { /** * 打开计算器 计算器图标 坐标 * */ Thread.sleep(1000); mUiDevice.click(286, 592); Thread.sleep(2000); /** * 8*9=72 然后长按删除 * */ /** * 点击8 * */ mUiDevice.findObject(By.res("com.android.calculator2:id/digit_8")).click(); /** * 点击“-” * */ mUiDevice.findObject(By.res("com.android.calculator2:id/op_sub")).click(); /** * 点击9 * */ mUiDevice.findObject(By.res("com.android.calculator2:id/digit_2")).click(); /** * 点击= * */ mUiDevice.findObject(By.res("com.android.calculator2:id/eq")).click(); Thread.sleep(2000); /** * 断言验证结果 * */ UiObject2 uiObject2 = mUiDevice.findObject(By.res("com.android.calculator2:id/formula")); String mutResult = uiObject2.getText().trim(); Assert.assertEquals("6", mutResult); } @Test public void mul() throws InterruptedException { /** * 打开计算器 计算器图标 坐标 * */ Thread.sleep(1000); mUiDevice.click(286, 592); Thread.sleep(2000); /** * 8*9=72 然后长按删除 * */ /** * 点击8 * */ mUiDevice.findObject(By.res("com.android.calculator2:id/digit_8")).click(); /** * 点击“×” * */ mUiDevice.findObject(By.res("com.android.calculator2:id/op_mul")).click(); /** * 点击9 * */ mUiDevice.findObject(By.res("com.android.calculator2:id/digit_9")).click(); /** * 点击= * */ mUiDevice.findObject(By.res("com.android.calculator2:id/eq")).click(); Thread.sleep(2000); /** * 断言验证结果 * */ UiObject2 uiObject2 = mUiDevice.findObject(By.res("com.android.calculator2:id/formula")); String mutResult = uiObject2.getText().trim(); Assert.assertEquals("72", mutResult); } @Test public void div() throws InterruptedException { /** * 打开计算器 计算器图标 坐标 * */ Thread.sleep(1000); mUiDevice.click(286, 592); Thread.sleep(2000); /** * 8*9=72 然后长按删除 * */ /** * 点击8 * */ mUiDevice.findObject(By.res("com.android.calculator2:id/digit_8")).click(); /** * 点击“×” * */ mUiDevice.findObject(By.desc("除")).click(); /** * 点击9 * */ mUiDevice.findObject(By.res("com.android.calculator2:id/digit_4")).click(); /** * 点击= * */ mUiDevice.findObject(By.res("com.android.calculator2:id/eq")).click(); Thread.sleep(2000); /** * 断言验证结果 * */ UiObject2 uiObject2 = mUiDevice.findObject(By.res("com.android.calculator2:id/formula")); String mutResult = uiObject2.getText().trim(); Assert.assertEquals("2", mutResult); } @After public void end() { /** * 长按删除 * */ mUiDevice.findObject(By.res("com.android.calculator2:id/del")).longClick(); } }