Robotium框架的使用和源码解析

本文详细介绍了Robotium测试框架的使用方法,包括添加依赖、通过不同方式获取和操作控件、断言以及截图功能。同时,对Robotium的源码进行了部分解析,如getView和clickOnView的方法流程,揭示了其内部实现机制。
摘要由CSDN通过智能技术生成

使用:

1、添加依赖

androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.6.3'

2、添加测试代码,例如:

@RunWith(AndroidJUnit4.class)
public class MainActivityTest {
   

    @Rule
    public ActivityTestRule<MainActivity> activityTestRule =
            new ActivityTestRule<>(MainActivity.class);

    private Solo solo;

    @Before
    public void setUp() throws Exception{
        // 获取activity
        solo = new Solo(InstrumentationRegistry.getInstrumentation(),activityTestRule.getActivity());
    }

    @After
    public void tearDown() throws Exception {
        solo.finishOpenedActivities();  // 关闭打开的活动
    }

    @Test
    public void testAddNote() throws Exception {
        solo.clickOnView(solo.getView(R.id.test)); // 点击view
    }
}

robotium框架是通过模拟用户操作手机屏幕来进行测试,几个基本操作:

  1. 要知道操作控件的坐标
  2. 对控件进行模拟操作
  3. 判断操作的结果是否符合预期

控件的获取

1、通过id获取

solo.getView(R.id.test);

2、通过索引、文本获取

solo.getText(0); // 第一个Textview控件
solo.getText("hello");   // 包含"hello"文字的textView控件(文字部分匹配即可)

3、通过对控件类型进行过滤获取

// 比如:一个LinearLayout中子控件都是动态添加的,就可以用这种方式获取
LinearLayout parentView = (LinearLayout) solo.getView(R.id.test);
ArrayList<TextView> textViews = solo.getCurrentViews(TextView.class, parentView);
textViews.get(0);

// getCurrentViews()方法有4个重载方法,可以指定过滤条件

控件的操作

1、点击、长按操作

clickOnView(View view) / clickLongOnView(View view)
clickOnScreen(float x,float y) / clickLongOnScreen(float x,float y) </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值