UI自动化测试Robotium

1 篇文章 0 订阅
Robotium是我认可度最高的一个android自动化测试工具,因为我在这里收获了UI自动化第一份自信。
这里不讲签名、创建工程等内容,直接对碰到的问题做一个总结,面试的时候通过这些问题可以看出是否真的做过实际项目。
********************
1、非root手机如何得到Robotium的测试报告
修改一下InstrumentationTestRunner类
运行命令:
adb shell am instrument -w com.example.android.notepad.test/com.example.android.notepad.test.InstrumentationTestRunner
得到报告:
adb pull /sdcard/TestLog D:\aaaa
********************
2、不连接pc,直接在android手机端如何运行Robotium
方法一、(此方法4.2及以上不可用)Runtime.getRuntime().exec(cmd);  
方法二、(目前用的一个方法)Bundle mBundle = new Bundle();  
mBundle.putString("class", "com.*.test.B1_ImageHelp"); 
startInstrumentation(new ComponentName("com.*.test", "android.test.InstrumentationTestRunner"), result, mBundle);
********************
3、如何点击textView组件
方法一、solo.clickOnText("于丹趣品人生");
方法二、通过id点击。
int id = solo.getCurrentActivity().getResources().getIdentifier("btn_action_bar_forword","id","com.*.reader");
View v = solo.getView(ctrl);
solo.clickOnView(v);
********************
4、需要点击的UI组件没有id怎么办?
通过有id的父View定位。
********************
5、如何去除引导页?
int home_free_list = solo.getCurrentActivity().getResources().getIdentifier("bs_home_recommend_list","id",TARGET_PACKAGE_ID);
View v = (View) solo.getView(home_free_list);
solo.scrollViewToSide (v,solo.RIGHT)
********************
6、断言的几种常用方式?
assertEquals(String expected, String actual)或者断言当前Activity的名称等
********************
使用感想:
Robotium最大的缺点是无法跨应用,虽然已经有人想到了方法。另外就是早期的一些版本有不少奇奇怪怪的问题,找id也是一件费劲的事情,刚学的时候签名也蛮烦人。一些特殊操作封装方法不值当,要现查api。以后android的UI自动化还是需要开发测试更好的配合,比如开发布置UI的时候会自动生成不同名的id等。这样以后的录制回放工具也会跟着规范起来。不过现在碎片化还忙不过来呢,UI自动化短期内没法简单,专门去搞UI测试工具成效不会太好。而且很多时候不是技术不够好,而是没有推的人,推广一个流程改变的是一群人的习惯,首先自己改变并且各种微调让别人觉得这个好,然后大家一致执行。
********************
********************
********************
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

廖勿法

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值