• 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,我对于这个观点保留意见,需要进一步的查看源码,下面会具体列举源码的部分和一些应用。

  • 相关阅读:
    Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
    Android 解决listview中checkBox错位选择
    带checkbox的ListView实现(一)——数据与渲染完全分离的传统实现方式
    ViewPager + Fragment实现滑动标签页
    android中使用PopupWindow实现弹出窗口菜单
    Android TextView背景颜色与背景图片设置
    Android特效 五种Toast详解
    Android 带checkbox的listView 实现多选,全选,反选
    android 截取指定位置字符串
    带checkbox的ListView实现(二)——自定义Checkable控件的实现方法
  • 原文地址:https://www.cnblogs.com/TestingOn/p/3972479.html
Copyright © 2020-2023  润新知