最近一直在研究Android覆盖率测试。
下面给大家介绍自动化测试结合覆盖率测试工具。
首先搭建环境,这个就不用我说了:
1.jdk安装 ,环境变量配置
2.eclipse + adk +adt 3.android环境变量和ant的环境变量要配置
自动化测试工具:robotium robotium.jar下载地址:http://download.youkuaiyun.com/detail/u010305328/8640617
打包工具:ant.jar的下载地址:http://download.youkuaiyun.com/detail/u010305328/8640689 下载完后安装,然后配置环境变量
robotium使用可参考http://blog.youkuaiyun.com/wirelessqa/article/details/7847466,讲的很不错
1.下载工程main_demo_app后,import入eclipse
2.然后点击main_demo_app工程,选择new-》other-》Android Test Project,输入工程名:test_main_demo_app,注意将robotium.jar拷贝到lib下面然后引用一下
3.然后新建一个测试类MainActivityTest ,下面就可参考我给的链接
有几点要说明一下
@Smoke
public void testFindElementInTree() {
ArrayList<View> list = solo.getViews(solo
.getView(R.id.include_checkbox));
tv = (TextView) list.get(2);
assertEquals("default text", tv.getText());
solo.clickOnCheckBox(0);
solo.sleep(3000); //我这里执行失败,加个这个函数就可以了
tv = (TextView) list.get(2);
assertEquals("CheckBox is checked!", tv.getText());
}
public void testLongClick(){
ImageView iv = (ImageView)solo.getView(R.id.my_imageview);
solo.clickLongOnView(iv);
//这个TOAST提示捕获不到,不知道哪里有问题,知道的朋友可以跟我说一下
//这里改成这样
assertEquals("LongClick", ((TextView)solo.getView("message")).getText());
}
4.测试类写完后,在eclipse里面运行一下,没有错误就可执行覆盖率测试
下面开始说覆盖率测试工具
进入main_demo_app工程所在目录,按住shift,点击右键,打开dos命令窗口
命令:android update project -p D:\Android\userProject\main_demo_app(主工程路径 )
命令:android update test-project -m D:\Android\userProject\main_demo_app(主工程路径) -p D:\Android\test_main_demo_app(测试工程路径)
命令:cd D:\Android\test_main_demo_app(测试工程路径)
命令:ant clean emma debug install test
运行完后,可看到报告