我已经使用AndroidViewClient几个月了,到目前为止我喜欢它,它很简单,也是一个非常强大的工具。我正在尝试开发一个自动化测试平台,以便对我们的产品进行更广泛和彻底的自动化测试,我将不得不决定是否坚持使用AndroidViewClient或转移到Espresso或其他工具(如selenium)。我知道Androidviewclient基本上是用于黑盒测试,不需要访问源代码。有人可以列出AndroidViewClient不提供的Espresso的一些功能/优点吗?我希望看到两种工具在功能方面的比较。
答案 0 :(得分:2)
这是一个非常好的问题,但我担心这不是一个直接而简单的答案,而是取决于具体情况。
此外,最接近的比较是 AndroidViewClient / culebra 与 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测试。
最新Android Studio预览版中的Espresso Test Recorder对Espresso几乎相同。