原文
在这篇文章中,我们将介绍什么是Espresso,Espresso提供了什么API,如何编写UI测试。
什么是Espresso ?
Espresso正在为谷歌测试用于UI测试的框架。 它为单一应用程序中的UI测试提供了API。 用户界面测试可确保用户交互不良或遇到意外行为。
我知道你现在习惯于为你的代码编写测试(至少这是我对你的期望)。
Espresso主要的三个类
- ViewMatcher:用于使用onView()在UI上查找视图
- ViewActions:用户使用ViewInteraction.perform()对UI元素执行操作
- ViewAssertion:用于使用ViewInteraction.check()来断言视图
1 | onView(withId(R.id.my_view)) // withId(R.id.my_view) is a ViewMatcher |
在LoginActivity上按SHIFT + CTRL + T并在androidTest文件夹中为UI测试创建测试类。
在类名上创建@RunWith(AndroidJUnit4.class)之后
现在我们用@Test注解编写测试checkUserNameEditTextIsDisplayed()。 我们还需要ActivityTestRule。
在checkUserNameEditTextIsDisplayed()中我们检查的是用户名EditText显示在UI上。
Espresso 的方法是自我解释的。
运行它将通过的测试(对于运行测试,我们需要仿真器或实际设备,因为这是UI测试)。
现在尝试使用户编辑文本的可见性消失,并再次运行测试失败。
现在我们测试点击空白字段的登录按钮,并检查是否显示错误消息。
运行测试正在通过。
接下来我们将为登录成功编写测试。
干杯!🍺🍺🍺。 我们已经完成了基本的测试。 测试中还有很多需要探索的地方。
希望听到你的建议,对这个系列或帖子的投入
如果你喜欢关于TDD的系列,请将其推荐给其他人。
欲了解更多信息,请在Medium上关注我。