由于搭建时遇到一系列问题,并且网上一些资料觉得稍微有点过时,搜索了一些资料,将整合成在AndroidStudio(AS,下同)下配合Junit4框架,使用Robotium进行UI自动化测试的搭建。
------------
1.首先,AS新建一个项目,选择No Activity。
2.File--Project Structure--Dependices,选择“+”,选择Library Dependecy,搜索框搜索robotium,添加robotium的依赖。
3.在androidTest下新建一个.class
4.加入代码
@RunWith(AndroidJUnit4.class)
public class RoTest {
private static final String CLASSNAME="com.xx.activity.SplashActivity";
private static Class<? extends Activity> actClass;
static{
try{
actClass = (Class<? extends Activity>)Class.forName(CLASSNAME);
}
catch(Exception e){
e.printStackTrace();
throw new RuntimeException();
}
}
private Solo solo;
@Before
public void setUp() throws Exception {
solo= new Solo(InstrumentationRegistry.getInstrumentation(),mActivityRule.getActivity());
}
@Rule
// public ActivityTestRule<SplashActivity> rule=new ActivityTestRule<SplashActivity>(SplashActivity.class);
public ActivityTestRule<?> mActivityRule = new ActivityTestRule<>(
actClass);
@After
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
遇到的问题:
1.ClassNotFound Exception
1--解决:新建项目时,包名需要和被测包名一致,并新建一个任务,具体参考:
2.NoClassDefFoundError
2--解决:依赖包从Implementation改为 Test Implementation