版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoluoli88/article/details/79635992
说明:本文为开源项目Espresso的操作说明。
项目博客地址:http://blog.csdn.net/xiaoluoli88/article/details/79635119
第一步:
引入auto_espresso类库,并设置为androidTestImplementation project(’:auto_espresso’),AS 3.0以下的可以设置为androidTestCompile
build.grale配置
- 注意类库配置是:androidTestImplementation project(’:auto_espresso’)
我们的工具库只是为了测试使用,不需要打包到apk中,所以使用androidTest方式引入; - 配置延迟加载类库: implementation
‘com.android.support.test.espresso.idling:idling-concurrent:3.0.1’
耗时操作需要用到该类;
第二步:
设置完成后,同步Gradle文件。
第三步:
在需要测试app module的Activity中,定义好IdlingResource,用来处理耗时操作;
第四步:
打开auto_espresso中的assets中的用例,当然可以放置任意位置,这里只是为了相对路径方便,可多个文件,任意命名;
根据Demo填写测试用例
说明几点:
- 用例编号为Test方法名,必须为英文字母开头;
- Intent值,模拟上一个页面传入的值(SharedPreferences 同)
如可以存放基数数据类型String/Int/Long/Float
第一个参数是类型,第二个参数是key,第三个参数是value - 权限可使用引用或字符串
如:Manifest.xx.xxx;Manifest.sx.xx 亦可使用字符串xxx.xxx.xxx;kkk.kk.kk - 是否创建为“N”时,则不创建该单元测试,直接跳过;
- 是否执行为“N”时,则不创建该用例,直接跳过;
- 参数为“#”表示无参数;
- 每个sheet表格表示一个单元测试,可创建多个sheet表格,如主页、登录、注册等等,系统运行时会自动创建多个单元测试类;
- 系统会自动跳过名为[demo]的sheet表格;
第四步:
根据模版创建驱动单元测试类,修改测试的项目模块名称、包名、驱动文件路径;
说明:
- 模块名称ModuleName:就是你需要测试的项目;
- 包名packageName:就是你需要测试的项目的包名;
- 驱动路径:excel驱动文件的路径;
- 支持多语言输出: java/kotlin
- [可选]可自动创建和执行集成测试(前提是app已经安装在设备中了)
//创建集成测试并执行
read.executeAllTest(packageName,unitPath);
第五步:
执行驱动创建的方法类,选中“CreateUnitTest”点击右键,选中Run
执行完成后,底部控制终端会显示“执行完成”
同时,待测试的Module app的androidTest目录下已经创建好了单元测试类
打开xxActvityTest可以看到,我们在excel中的测试用例已经创建好了。
延迟加载的getIdlingResource()将测试程序和应用程序两者联系起来;
需单独执行单元测试可选中该文件,点击右键选中Run,选中Instrumented执行即可。
持续更新中~