本帖最后由 恭喜发财dife 于 2019-1-24 14:59 编辑
很早以前就开始折腾android的自动化测试,不过,本人毫无测试基础,只能,从google那里搜索到仅有的一些资源. 从google那里搜来的资源大多都是介绍类的文章,比较少有实例操作,关于,android自动化测试,优酷上有个淘宝的框架叫做----TMS的视频演示,因为,那里说不让转载,所以,感兴趣的话就去google一下,就能看到. 顺便说一下,这个专题不是一个专业,严格的android测试博文,所以,不要以专业的测试眼光去评论,这是,简单的运用一下测试,让我们的程序员编出更好的代码…
自动化的 UI 测试 目前能免费进行android UI的自动化测试的方法有以下三种:
| Monkey&MonkeyRunner | android 的Junit 测试框架 | Robotium | 入门难度 | 一般 | 困难 | 非常简单 | 功能方面 | 很一般 | 无所不能 | 基本满足 |
说下,Monkey&MonkeyRunner 优点: 上手简单,只需要apk 缺点: 文档少,容易出错,编写脚本需要python基础.
说下, android for Junit 优点: 无所不能… 缺点: 上手不容易,需要源码.
Robotium本文重点简介的方法…. 说下,Robotium 优点: 足够简单,足够强大,支持apk测试 缺点: 还不能替代android for Junit
愉快的UI测试之旅 by Robotium
Robotium 是一个开源项目: http://code.google.com/p/robotium/ 目前最新版本:Robotium 3.1 is now released! 竟然,要做测试,我们要新建一个用于测试的项目: 直接下载项目吧…. http://vdisk.weibo.com/s/3feB5 然后,创建一个android的测试项目..
1,创建项目
2,选择要测试的项目
3,完成
4,把Robotium导入到测试项目里面,顺便说一下:ADT 17 预览版 4已经支持自动把libs下的jar包导入到依赖环境中…用之前版本的朋友手动添加吧…
编写第一个UI测试方法- public class FootTabClickTest extends ActivityInstrumentationTestCase2<TabViewActivity> {
-
- //1,创建一个自动化测试对象
- private Solo tabSolo;
-
-
- public FootTabClickTest () {
- super("com.achai",TabViewActivity.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- // TODO Auto-generated method stub
- super.setUp();
- //2,初始化我们的测试对象
- tabSolo = new Solo(getInstrumentation(), getActivity());
- }
-
- @Smoke
- public void testClickEachTab(){
-
- //3,获取我们view 中所有的单选按钮,没错就是这么简单…
- ArrayList<RadioButton> radioGroup = tabSolo.getCurrentRadioButtons();
- //4,自动点击每个单选按钮
- for(int i=0; i < radioGroup.size(); i++){
- tabSolo.clickOnRadioButton(i);
- //5,暂停1s 用来看效果的…
- tabSolo.sleep(1000);
- }
- //6,又一个强大的功能,直接识别点击当前view中匹配的文本,与控件无关!!!!!!!
- tabSolo.clickOnText("(?i).*?我的收藏.*");
- tabSolo.sleep(1000);
- //7,这个是长按,注意留意动画
- tabSolo.clickLongOnText("返回");
- tabSolo.sleep(2000);
- // tabSolo.clickOnRadioButton(1);
- }
-
- @Override
- protected void tearDown() throws Exception {
- // TODO Auto-generated method stub
- super.tearDown();
- }
-
-
-
- }
复制代码
|