Robotium 框架学习之概述

框架目的:

     Robotium is an Android test automation framework that has full support for native and hybrid applications. Robotium makes it easy to write powerful and robust automatic black-box UI tests for Android applications. With the support of Robotium, test case developers can write function, system and user acceptance test scenarios, spanning multiple Android activities.

     本身支持了原生和混合APP的自动化黑盒测试,能够覆盖功能、系统和用户验收测试,可以支持跨多个Android activities。

因为本身是开源项目,所以可以支持扩展和源码查看,下载Robotium源码和帮助文档,发现,底层是使用JAVA开发的框架,所以扩展性应该还不错,先看一下框架内部的继承关系:

顶层是package:solo, solo下由By/solo/Robotium Utils/WebElement等组成,其中有一个Condition的接口和一个列举类型的方法(主要是为了截图)。

由于Class继承了Object,所以也具有其他方法:

具体实现需要查看相关文档。

为了使用去看了下官网的的Example:

public class EditorTest extends
                ActivityInstrumentationTestCase2<EditorActivity> {

  private Solo solo;

  public EditorTest() {
                super(EditorActivity.class);
  }

  public void setUp() throws Exception {
        solo = new Solo(getInstrumentation(), getActivity());
  }
 
  public void testPreferenceIsSaved() throws Exception {
 
                solo.sendKey(Solo.MENU);
                solo.clickOnText("More");
                solo.clickOnText("Preferences");
                solo.clickOnText("Edit File Extensions");
                Assert.assertTrue(solo.searchText("rtf"));
               
                solo.clickOnText("txt");
                solo.clearEditText(2);
                solo.enterText(2, "robotium");
                solo.clickOnButton("Save");
                solo.goBack();
                solo.clickOnText("Edit File Extensions");
                Assert.assertTrue(solo.searchText("application/robotium"));
               
  }

   @Override
   public void tearDown() throws Exception {
        solo.finishOpenedActivities();
  }
}

可以看到ActivityInstrumentationTestCase2这个安卓SDK提供的测试类,基于对于Instrumentaion的理解,本身应该也是一个安卓程序,然后,使用了基础的测试类,solo的作用应该是封装了对APP元素的识别和操作的一系列动作,至于说是封装了Instrumentaion,我对于这个观点保留意见,需要进一步的查看源码,下面会具体列举源码的部分和一些应用。

原文地址:https://www.cnblogs.com/TestingOn/p/3972479.html