AndroidViewClient / Culebra相对于Espresso for Android GUI自动测试有哪些缺点?

时间:2016-07-29 21:49:51

标签: android selenium automated-tests android-espresso androidviewclient

我已经使用AndroidViewClient几个月了,到目前为止我喜欢它,它很简单,也是一个非常强大的工具。我正在尝试开发一个自动化测试平台,以便对我们的产品进行更广泛和彻底的自动化测试,我将不得不决定是否坚持使用AndroidViewClient或转移到Espresso或其他工具(如selenium)。我知道Androidviewclient基本上是用于黑盒测试,不需要访问源代码。有人可以列出AndroidViewClient不提供的Espresso的一些功能/优点吗?我希望看到两种工具在功能方面的比较。

1 个答案:

答案 0 :(得分:2)

这是一个非常好的问题,但我担心这不是一个直接而简单的答案,而是取决于具体情况。

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

  • Espresso :用户界面测试框架;适合功能UI测试 在应用程序内。 Espresso非常适合编写白盒式自动化测试,其中测试代码利用被测试应用程序中的实现代码详细信息。
  • UI Automator :UI测试框架;适合 跨系统和已安装应用程序的跨应用程序功能UI测试。 UI Automator测试框架非常适合编写黑盒式自动化测试,其中测试代码不依赖于目标应用程序的内部实现细节。

关于 UI Automator vs AndroidViewClient / culebra ,两者都提供与AndroidViewClient / culebra几乎相同的功能,可能的后端恰好是UI Automator。主要区别当然是前者使用Java和后者使用python。

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

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

enter image description here

最新Android Studio预览版中的Espresso Test Recorder对Espresso几乎相同。