您可以使用 Espresso 来编写简洁、美观且可靠的 Android 界面测试。
以下代码段展示了 Espresso 测试的一个示例:
Kotlin
@Test fun greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")) onView(withId(R.id.greet_button)).perform(click()) onView(withText("Hello Steve!")).check(matches(isDisplayed())) }
Java
@Test public void greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")); onView(withId(R.id.greet_button)).perform(click()); onView(withText("Hello Steve!")).check(matches(isDisplayed())); }
核心 API 小巧、可预测、易于学习,并且对 自定义。Espresso 测试会说明预期、交互和断言 而不受样板内容、自定义基础架构、 或杂乱的实施细节造成障碍。
Espresso 测试运行速度极快!它让您远离等待、同步、睡眠、 并在应用上操作和断言时 静态数据。
目标受众群体
Espresso 面向那些认为自动化测试 是开发生命周期不可或缺的一部分。虽然它可用于黑盒 熟悉测试工具的人员可以解锁 Espresso 的全部能力 受测代码库
同步功能
每次测试调用
onView()
,
Espresso 会等待执行相应的界面操作或断言,
满足以下同步条件:
通过执行这些检查,Espresso 可显著提高 在任何给定时间都只能发生一项界面操作或断言。此功能 为您提供更可靠、更可靠的测试结果。
软件包
espresso-core
- 包含核心和基本的View
匹配器、操作和 断言。请参阅 基本信息 和食谱。espresso-web
- 包含WebView
支持的资源。espresso-idling-resource
- Espresso 与后台作业同步的机制。espresso-contrib
- 包含DatePicker
的外部贡献,RecyclerView
和Drawer
操作、无障碍功能检查以及CountingIdlingResource
。espresso-intents
- 用于对封闭测试的 intent 进行验证和打桩的扩展。espresso-remote
- Espresso 的多进程功能的位置。
如需详细了解最新版本,请参阅 版本说明。
其他资源
如需详细了解如何在 Android 测试中使用 Espresso,请查阅 以下资源。
示例
- Espresso 代码示例 包括各种 Espresso 示例。
- BasicSample: 基本的 Espresso 示例。
- (更多…)