1.配置
在配置方面基本不用改变,同第一章相同。
2.编码
我们新建一个MainActivity界面如下:
布局如下:
我们首先在MainActivity中实现
“输入文本→ 点击Save→让aaa 变为刚刚输入的文本,点击clear 让TextView 和EditText都清空”
接下来我们创建UI测试文件存放于“androidTest”包下:
以上代码需要手动编码,@Rule是让我们先定好规则,该规则所关联的界面是MainActivity,项目中我们编写了两个测试方法,Save(),Clear() ;
由于在UI测试中我们需要操作UI元素,但是我们的测试类中并未引入Activity实例,而espresso为我们提供了 onView 来注入组件。
onView(withId(R.id.edt_test)).perform(typeText(str),closeSoftKeyboard());
上面是通过withId找到组件,写入Str 所指向的字符串,并关闭软键盘。
onView(withId(R.id.btn_save)).perform(click());
点击btn_sace这个按钮
onView(withId(R.id.tv_test)).check(matches(withText(str)));
判断这个组件中的文本是否为之前输入的文本。
onView(withId(R.id.btn_clear)).perform(click());
//校验 该组件是否匹配空字符
onView(withId(R.id.tv_test)).check(matches(withText("")));
这两行也可想而知了。
然后就是运行测试了:
这是测试结果,同时你会看到模拟机自主实现点击输入等功能,由于录制视频没法上传这个就自己测试吧。
espresso:浓咖啡 寓意我们写完测试就可以坐着喝杯咖啡等着测试起飞了。。。