pass:最近入职新公司搞UIAutomator,好好一开发整成了Android测试开发。不过也好,学习学习
首先导入依赖啥的就不说了,网上一堆。
直接上代码:屏幕关闭状态下,打开屏幕,打开斗鱼,颜值板块第一个,看三秒以后关闭页面。
@RunWith(AndroidJUnit4.class)
public class DouYuTvTest {
private Instrumentation instrumentation;
private UiDevice uiDevice;
@Before
public void init() {
instrumentation = InstrumentationRegistry.getInstrumentation();
uiDevice = UiDevice.getInstance(instrumentation);
}
@Test
public void startDouYuTv() throws UiObjectNotFoundException, RemoteException {
if (!uiDevice.isScreenOn()) {
uiDevice.wakeUp();
}
UiObject douyuTv = uiDevice.findObject(new UiSelector().text("斗鱼直播"));
if (douyuTv.exists()) {
douyuTv.click();
}
UiObject yanzhi = uiDevice.findObject(new UiSelector().resourceId("air.tv.douyu.android:id/adf"));
if (yanzhi.exists()) {
yanzhi.click();
}
UiObject yanzhi_frist = uiDevice.findObject(new UiSelector().resourceId("air.tv.douyu.android:id/c5t"));
if (yanzhi_frist.exists()) {
yanzhi_frist.click();
}
sleep(3000);
uiDevice.pressBack();
}
public void sleep(long mint) {
try {
Thread.sleep(mint);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
划拉一波重点吧
首先要有
@RunWith(AndroidJUnit4.class)表明这个是UIAutomator的
然后
@Before这个是表示最先开始的,在运行之前初始化一些工具的
最后
@Test是测试的主要内容
这个UIAutomator主要的板块就是UiDevice和UiObject2两个对象组成。