我在寻找用于Android自动化的测试框架,我偶然发现了UI Automator和Espresso,这是我感到困惑的部分-
Android专用的。所以我的疑问是-
UI Automator和Espresso的主要区别是什么?发布于 2015-07-02 09:26:11
其实你不需要选择。UIAutomator和Espresso使用相同的工具运行程序,因此您可以在单个测试中使用来自它们的命令。在UI上,Espresso有各种各样的匹配器、断言和操作,但automator没有:
Espresso在单独的线程中运行,与其他测试框架相比,它非常快速。
摘要:在您的测试中使用这两种工具,Espresso是main,UIAutomator是操作系统集成的附加工具。
发布于 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)。
发布于 2015-06-26 18:29:54
如果您只测试一个应用程序,那么Espresso。
如果您正在测试多个应用程序或它与其他应用程序或系统的集成,那么UiAutomator。
https://stackoverflow.com/questions/31076228
复制相似问题