2

我一直在使用AndroidViewClient几个月,现在我很喜欢它,它很简单,也是一个非常强大的工具。我正在努力开发一个自动化测试平台,以进行更广泛,更彻底的产品自动化测试,我将不得不决定是否坚持使用AndroidViewClient或转移到Espresso或其他工具(如硒)。我知道Androidviewclient基本上是用于黑盒测试,并且不需要访问源代码。有人可以列出AndroidViewClient不提供的Espresso的一些功能/优势吗?我希望看到两种工具在能力方面的比较。AndroidViewClient/Culebra比Espresso for Android GUI自动测试有什么缺点?

回答

2

这是一个非常好的问题,但恐怕没有一个直接和简单的答案,这取决于上下文。

此外,最接近的比较是AndroidViewClient /库莱布拉UI的Automator,因为它们都具有不同的目标:

  • 咖啡:UI测试框架;适用于应用内的功能性UI测试 。 Espresso非常适合编写白盒式自动测试,其中测试代码利用来自被测试应用程序的实现代码细节。
  • UI Automator:UI测试框架;适用于跨系统和安装的应用程序的跨应用功能UI测试 。他的UI Automator测试框架非常适合编写黑盒式自动测试,测试代码不依赖目标应用程序的内部实现细节。

关于UI的Automator VS AndroidViewClient /库莱布拉,既提供了几乎相同的功能AndroidViewClient /库莱布拉可能后端之一正是UI的Automator。主要的区别当然是前者使用Java和后者的python。

Espresso最大的优势是UI thread synchronization,这有助于避免由于计时问题而导致随机失败的测试。这个测试问题被称为测试片状。在Espresso之前,解决方法是在测试中插入足够长的睡眠时间或超时时间,或添加代码以继续重试失败的操作。

culebra自动为UI Automator生成测试(和脚本)。该代码是通过在设备上记录自己的交互而生成的,因此您不必实际编写任何测试代码。下一代CulebraTester具有新的用户界面以及生成python,Java和javascript测试的功能。

enter image description here

咖啡测试记录在最新的Android Studio预览确实几乎是咖啡一样。