emmm,项目需要,所以学习一下很基础的Android测试知识,涉及到了UIAutomator,觉得很好,记录一下。
一、UIAutomator2.0
- UIAutomator2.0是android的自动化测试框架。
- Espresso(主要单元测试)+ UIAutoamtor2.0(主要UI测试)= ATSL(安卓测试知识库)
- 黑盒UI自动化测试套路:通过搜索条件,查找组件,然后操作组件。
二、一个简单测试工程
- 新建Android工程
- 添加UIAutomator2.0依赖
在app模块的build.gradle中添加对UIAutomator2.0的依赖,同时将minSdkVersion改为18:
androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
- 在如图所示的地方新建Java测试类
- 敲代码 First_Try_Test.java
import android.app.Instrumentation;
import android.os.RemoteException;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import android.support.test.uiautomator.UiDevice;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class) //指定使用哪个运行器来运行测试用例
public class First_Try_Test {
public Instrumentation mInstrumentation;
public UiDevice mUiDevice;
@Before //用例运行之前一定会运行的
public void setUp(){
//实例化对象
mInstrumentation = InstrumentationRegistry.getInstrumentation();
mUiDevice = UiDevice.getInstance(mInstrumentation);
}
/**以上可以为固定的代码套路**/
@Test //表明正式测试用例
public void DemoTest()throws RemoteException {
mUiDevice.pressRecentApps();//按一下最近任务键
}
}
- 运行测试用例,右击DemoTest,选择如图所示按钮
- 生成测试报告