安卓自动化测试:Robotium(三)批量运行测试代码
1、JUnit的TestSuite可以集中存放测试类,并批量运行测试类中的测试用例,源码如下:
package com.coolwi.km.user.testsuites;
import com.coolwi.km.user.testcase.MyCardRecord;
import com.coolwi.km.user.testcase.MyCardUserTestcase1;
import junit.framework.JUnit4TestAdapter;
import junit.framework.Test;
import junit.framework.TestSuite;
//import junit.sampling.*;
public class TestAll {
public static Test suite()
{
TestSuite suite = new TestSuite("All tests from part1");//表明这个标识性东西
suite.addTestSuite(MyCardRecord.class);
suite.addTestSuite(MyCardUserTestcase1.class);
//suite.addTest(new TTmmTest("testHelloworld"));//这里可以添加单个的测试方法
return suite;
}
}
举个栗子:可以新建testsuites来存放所有的testsuit,在这个包下新建一个LoginSuit,然后编写Login_1、Login_2、Login_3,便可运行登录的测试用例
2、选择使用Android Junit Test 运行 TestAll ,便可批量运行选中的所有测试用例
3、生产JUnit 格式的report
a、导入(一)中的jar包
b、在runner包下新建一个Runner,命名为CommonRunner,让该Runner继承JUnitReportTestRunner,在AndroidManifest.xml中声明该Runner
<instrumentation
// android:name="com.zutubi.android.junitreport.JUnitReportTestRunner"
android:name="com.coolwi.km.user.runner.CommonRunner"
android:targetPackage="com.coolwi.km.user" />
c、更新第一步的类为TestAll1,继承 CommonRunner,运行TestAll1
4、导出测试用例
adb pull /data/data/com.xxx.xxx/files/junit-report.xml
a、adb shell 进入手机,并cd (确保手机被root)
b、su 切换到 root身份
c、用rm -f junit-report.xml确保手机内没有该文件,然后运行脚本
PS:可能运行脚本后没有查看到报告,原因是该文件夹没有写的权限,此时需要 chmod该文件夹,再运行脚本
cd /data
chmod -R 777 /data
cd /data/data
chmod -R 777 /data/data