0

我开发了一个 android 应用程序,我想在其上运行 robotium 测试用例。我遇到的第一个问题是,在我的应用程序中,我使用了很多 Web 服务调用来与服务器交互,每当应用程序访问服务器时,我都会显示一个进度对话框,现在我想等待机器人,直到应用程序得到响应来自服务器,但我可以使用waitForDialogToClose()等待一段时间,实际上我想让它完全等待,直到它从服务器获得一些响应或错误。怎么做..??

第二个问题是我正在将一些数据(例如文件或图像)上传到服务器并且我正在为它显示进度条,在这种情况下,我想等待机器人直到我的进度条达到最大值。请帮忙..

问候,拉姆。

4

1 回答 1

0

Robotium 是一个黑盒测试框架:您从 UI 层测试一个应用程序,它甚至可以在不了解被测应用程序代码的情况下运行。

出于这个原因,从robotium你不能在你的模型或休息客户端中插入一个监听器并等到响应进入你的应用程序。所以,你有两个选择:

  • 像您一样在 UI 上进行中继,等待给定的状态出现在 UI 中,正如您通过对话框或列表的内容所建议的那样。
  • 在继续测试之前等待一段时间,此时您可以确定数据会在那里。但这风险更大,并且会更频繁地失败。

一些单元测试可以很好地测试您的其余客户端(或等效客户端),然后如果您可以模拟它并在断开连接的情况下运行您的 ui 测试,那就更好了。但这一切都需要大量的设计工作,对于一个小型应用程序和 Java 初学者来说,这是值得的,但很复杂。也许你最好只测试你的 UI 并记住你的测试并不完美。

于 2012-05-09T07:43:25.843 回答