gpt4 book ai didi

android - espresso 相对于仪器测试用例的优势

转载 作者:行者123 更新时间:2023-11-29 19:18:37 25 4
gpt4 key购买 nike

我已经完成了 doc Espresso ,但仍然没有得到它的好处,所以我可以转向 Espresso 而不是仪器。有人可以帮忙吗?

我从 Espresso 中了解到的是:

  1. 使用 Espresso 的一个主要好处是它可以自动将测试操作与您正在测试的应用的用户界面同步。
  2. Espresso 会检测主线程何时空闲,因此它能够在适当的时间运行您的测试命令,从而提高测试的可靠性。
  3. 此功能还使您不必在测试代码中添加任何时序解决方法,例如 Thread.sleep()

在第 1 点,我无法理解它是如何在采取行动的同时保持同步的。

在第 2 点,线程如何变为空闲以及我们如何避免 Thread.sleep() 是 espresso 等待元素,直到它不显示在屏幕上。

请建议我应该如何处理它。谢谢

最佳答案

but still not getting the benefits of it so that I can move to espresso over instrumentation

我认为你在这里混淆了一些东西:

Instrumentation-Test 不是必需的,这意味着您必须使用 espresso

通常 Instrumented Tests 是这样的测试:

...can take advantage of the Android framework APIs and supporting APIs, such as the Android Testing Support Library. Source

这意味着您可以编写“经典”单元测试或例如需要运行 android 上下文的检测单元测试。单元测试是测试代码的单个部分的测试,例如服务之类的。

UI tests另一方面是真正启动您的 Activity 并在您的应用中执行某些操作的测试。

Espresso 本身只是一个帮助您编写自动化 UI 测试的库。您可以使用它与应用程序中的 UI 进行交互(单击按钮、检查 View 内容,...)。

此外还有 ui-automator library它可以做类似的事情,但适用于不在您的应用程序中的 UI 交互,例如系统对话框(权限对话框、最近的应用程序或主页按钮,...),或者如果您有跨越多个应用程序的测试用例。

所以回答你的问题:你不能“偏爱”espresso 而不是仪器测试,因为 espresso 是一个用于自动化仪器测试的库。

关于android - espresso 相对于仪器测试用例的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42898317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com