首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓测试: UIAutomator与Espresso

安卓测试: UIAutomator与Espresso
EN

Stack Overflow用户
提问于 2015-06-26 14:51:31
回答 7查看 28.3K关注 0票数 79

我在寻找用于Android自动化的测试框架,我偶然发现了UI AutomatorEspresso,这是我感到困惑的部分-

  1. 两者都由Google维护。
  2. 两者都用于功能性用户界面测试。
  3. 这两个框架都是Android专用的。

所以我的疑问是-

  • UI AutomatorEspresso的主要区别是什么?
  • 是否必须修改源代码以集成任何这些框架?
  • 一个框架比另一个框架有什么优势吗?如果是,那么哪个框架最适合于Android应用程序的UI自动化?
EN

回答 7

Stack Overflow用户

发布于 2015-07-02 09:26:11

其实你不需要选择。UIAutomator和Espresso使用相同的工具运行程序,因此您可以在单个测试中使用来自它们的命令。在UI上,Espresso有各种各样的匹配器、断言和操作,但automator没有:

浓缩咖啡备忘单

Espresso在单独的线程中运行,与其他测试框架相比,它非常快速。

摘要:在您的测试中使用这两种工具,Espresso是main,UIAutomator是操作系统集成的附加工具。

票数 48
EN

Stack Overflow用户

发布于 2015-06-26 19:38:24

UIAutomator --功能强大,具有良好的外部OS系统集成功能,例如可以在测试期间打开和关闭WiFi并访问其他设置,但是缺乏向后兼容性,因为它需要Jelly或更高版本。但是,它也缺乏详细的视图访问权限,所以人们可以说它更像是一个纯粹的黑匣子测试。因为Espresso可以查看内部信息(见下文)。这在developer.android.com上推荐用于“测试多个应用程序的UI”。

与ui automator相比,Espresso的重量要轻一点,并且支持2.2Froyo和更高的版本,它还有一个功能强大的hamcrest(https://github.com/hamcrest)集成的fluent api,使得代码更具可读性和可扩展性(它比integration更新)。它不能访问系统集成测试,但可以访问视图内部,例如可以测试webview (用于混合应用程序测试,或webview重测试)。与UI自动测试相比,灰盒测试要稍微多一些.这在developer.android.com上推荐用于“为单个应用程序测试UI”。从AndroidStudio2.2开始,这就提供了UI测试记录(比如UIAutomator)。

票数 46
EN

Stack Overflow用户

发布于 2015-06-26 18:29:54

如果您只测试一个应用程序,那么Espresso。

如果您正在测试多个应用程序或它与其他应用程序或系统的集成,那么UiAutomator。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31076228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档