过去几周,我使用Appium(python)
进行Android测试,但昨天我们决定转为Expresso(Java)
进行自动化测试。我们为什么要做这个转变有几个原因:
我们希望扩展自动化测试,并且appium中没有很多功能。
这是Android的最新测试框架之一,具有良好的向后兼容性。
我一直在为Espresso阅读,但我找不到任何好的东西,如果我将它与Appium进行比较。我是Python/R developer
所以也许有几点我无法理解。有谁愿意帮助我理解转向这个新的测试框架是否对未来有利?我在这里错过了更大的图片,我们将非常感谢任何帮助。
答案 0 :(得分:13)
答案 1 :(得分:12)
如果你只坚持Android自动化并且不知道自动化iOS,你可以去Espresso。
AFIKW,Espresso需要应用程序的源代码才能实现自动化。
优点是,它直接由谷歌开源。
但我的目标是与Appium一起使用,因为它是一个大型开源社区,在其路上具有巨大的增强功能,并且易于使用任何编程语言实现自动化,并且不用说它支持Android和iOS。
答案 2 :(得分:7)
我同意Espresso在单独进行Android测试时效率可能非常高。例如,它只能运行它正在测试的活动,这很棒。
仍然,我坚持使用Appium,因为它与AndroidDriver和iOSDriver都有相同的API。通常Android应用程序附带iOS应用程序,如果您负责UI自动化,则必须考虑总体成本。
Appium比平台特定解决方案具有以下优势:
Appium的最大缺点是较长的测试场景的速度以及定位元素的一些困难,但仍然是我的选择。
作为旁注,我想补充一点,你不应该忘记测试金字塔,它指的是测试自动化。请在单元测试,集成测试和UI测试http://martinfowler.com/bliki/TestPyramid.html
之间保持平衡答案 3 :(得分:6)
两者之间的主要区别是,
Espresso测试在应用程序中,它知道应用程序的所有层。因此,您可以模拟某些应用层,更像是白盒测试
Appium测试是黑盒子,测试只知道应用程序的UI层。主要优势是跨平台测试。