Espresso环境搭建及其基本使用
2016-06-15 16:39
417 查看
大家开发Java程序的时候可以使用JUnit进行程序的测试,现在有一款可以测试Android UI的框架,叫Espresso,在这,简单记录下环境搭建及其基本使用。
官方的介绍:Espresso
学习中参考了:
https://segmentfault.com/a/1190000004338384
http://www.w2bc.com/Article/40324
为了更好的测试,建议关闭测试机的系统动画。将 设置->开发者选项 中的以下几项设置为 关闭动画:
窗口动画缩放
过渡动画缩放
动画程序时长缩放
2.在app的build.gradle文件的 defaultConfig 中添加编译配置
3.在app的build.gradle文件的 android 中添加如下代码避免编译时的License冲突
4.在app的build.gradle文件的 dependencies 中引入依赖包
2.注解的意思见注释
1.选中待测试方法,鼠标右键选择 run ‘选中的方法名’开始测试
2.在AndroidStudio底部的Run窗口,进度条显示为绿色,表示运行通过。
1.在AndroidStudio中打开命令窗口 Terminal,确认路径在自己的项目根路径下,执行以下命令。
执行成功后,在输出内容的最下面会显示:
当然,总耗时根据每个项目的具体情况和设备性能都不一样。
同时,这里有个坑给大家说一下,也是我遇到的,在执行这个批处理命令时,要保证你的测试机当前不处于休眠状态,否则无法完成本轮测试。原因是自动化测试也会生成页面,若果手机处于休眠状态,Activity就无法加载到手机屏幕上啊!!!
2.等待执行成功并完成所有测试用例后即可查看结果。
生成的报告位于 app\build\reports\androidTest\connected目录下,查看的时候可以选中index.html,鼠标右键,在 Open in Browser 中选择一款自己中意的浏览器即可看到测试报告。
大家测一看到,tests显示测试用例数,为5个,花费时间3.068秒,正确率100%,还有包名com.favor.espressodemo。点击包名会显示所有的测试类。
点击某个测试类,会显示当前测试类中的测试用例列表,每一列包含了测试用例名、是否通过和花费时长。
至此,环境搭建以及基本用法就介绍完了,大家要了解的话最好自己亲手操作一下,要了解更多的知识的话,建议大家到Espresso官网上阅读一下说明文档,当然,文档是英文的。中文的话,比较详细的参考Android自动化测试-从入门到入门系列文章,在此向这位有水平有耐心的大神Anchorer表示感谢。
官方的介绍:Espresso
学习中参考了:
https://segmentfault.com/a/1190000004338384
http://www.w2bc.com/Article/40324
一、创建待测试项目
在Android Studio环境下创建了一个EspressoDemo项目,作为下面测试的项目。仅为演示,所以只添加了一个启动页MainActivity.compileSdkVersion 23 buildToolsVersion 23.0.3
minSdkVersion 8 targetSdkVersion 23
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView view = new TextView(this); view.setText("Espresso"); setContentView(view); } }
二、配置环境
1.设置测试环境为了更好的测试,建议关闭测试机的系统动画。将 设置->开发者选项 中的以下几项设置为 关闭动画:
窗口动画缩放
过渡动画缩放
动画程序时长缩放
2.在app的build.gradle文件的 defaultConfig 中添加编译配置
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
3.在app的build.gradle文件的 android 中添加如下代码避免编译时的License冲突
packagingOptions { exclude 'LICENSE.txt' }
4.在app的build.gradle文件的 dependencies 中引入依赖包
compile 'com.android.support:appcompat-v7:23.4.0' // Android Testing Support Library's runner and rules androidTestCompile 'com.android.support.test:runner:0.5' // Espresso UI Testing androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' // Resolve conflicts between main and test APK: androidTestCompile 'com.android.support:support-annotations:23.4.0'
三、创建测试类
1.刚创建的待测试项目中现在只有一个启动页MainActivity,所以创建一个测试MainActivity页面的测试类MainActivityTest,所在目录为app\src\androidTest\java\包名\MainActivityTest.java。import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.LargeTest; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static android.support.test.espresso.matcher.ViewMatchers.withText; /** * 测试 MainActivity */ @RunWith(AndroidJUnit4.class) // @LargeTest // public class MainActivityTest { @Rule //指定待测试的Activity public ActivityTestRule<MainActivity> activityRule = new ActivityTestRule<>( MainActivity.class); @Test //测试用例的测试方法皆适用此注解 public void testTextViewDisplay(){ onView(withText("Espresso")).check(matches(isDisplayed())); } }
2.注解的意思见注释
四、运行测试方法一
这种一次只能测试一个测试用例是否通过。1.选中待测试方法,鼠标右键选择 run ‘选中的方法名’开始测试
2.在AndroidStudio底部的Run窗口,进度条显示为绿色,表示运行通过。
五、运行测试方法二
此种方法可以一次将项目中的所有测试用例都执行一遍,并生成测试报告。在要发布版本时,可以直接测试整个项目,不用像方法一那样只能测试一个,效率低下。并且,生成的报告也可以拷贝出来长期保存。1.在AndroidStudio中打开命令窗口 Terminal,确认路径在自己的项目根路径下,执行以下命令。
gradlew connectedAndroidTest
执行成功后,在输出内容的最下面会显示:
BUILD SUCCESSFUL Total time:22.63 secs
当然,总耗时根据每个项目的具体情况和设备性能都不一样。
同时,这里有个坑给大家说一下,也是我遇到的,在执行这个批处理命令时,要保证你的测试机当前不处于休眠状态,否则无法完成本轮测试。原因是自动化测试也会生成页面,若果手机处于休眠状态,Activity就无法加载到手机屏幕上啊!!!
2.等待执行成功并完成所有测试用例后即可查看结果。
生成的报告位于 app\build\reports\androidTest\connected目录下,查看的时候可以选中index.html,鼠标右键,在 Open in Browser 中选择一款自己中意的浏览器即可看到测试报告。
大家测一看到,tests显示测试用例数,为5个,花费时间3.068秒,正确率100%,还有包名com.favor.espressodemo。点击包名会显示所有的测试类。
点击某个测试类,会显示当前测试类中的测试用例列表,每一列包含了测试用例名、是否通过和花费时长。
至此,环境搭建以及基本用法就介绍完了,大家要了解的话最好自己亲手操作一下,要了解更多的知识的话,建议大家到Espresso官网上阅读一下说明文档,当然,文档是英文的。中文的话,比较详细的参考Android自动化测试-从入门到入门系列文章,在此向这位有水平有耐心的大神Anchorer表示感谢。
相关文章推荐
- ASP.NET应用程序与页面生命周期
- linq to js使用汇总
- iOS 开发中的 GCD 详细使用
- iOS 数字时钟(时间显示并持续更新)
- Ubuntu 16.04 下载和编译android 6 源码
- Permutations
- C++ 函数的扩展④--函数重载与函数指针
- linux shell 指令 诸如-d, -f, -e之类的判断表达式
- android更新LOGO后无法显示新LOGO的原因
- Qt,QTableWidget的两个函数item和itemAt
- mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法
- Linux设备驱动开发学习(2):Linux设备驱动简介
- 解决存到数据库里中文乱码问题
- url里跳转传递数据
- php百度坐标转高德坐标
- c++:深复制
- Java Iterator, ListIterator 和 foreach语句使用
- 作业九 ----课程总结
- Linux下Tomcat catalina.out自动归档,以及logrotate 配置详解
- Web体系=资源+URI+表示