如何使用robotium测试Android应用程序Web服务调用?

时间:2012-05-09 07:25:18

标签: android

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

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

此致 拉姆。

1 个答案:

答案 0 :(得分:0)

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

因此,在robotium中,您无法在模型或休息客户端中插入监听器,并等待响应进入您的应用程序。所以,你有两个选择:

  • 像你一样在UI上传递,等待给定的状态出现在UI中,就像你建议的对话框,或列表的内容,等等。
  • 在继续测试之前等待一段时间,在这段时间你非常确定数据会在那里。但这种风险更大,而且会更频繁地失败。

一些单元测试很适合测试你的其他客户端(或等效的),然后如果你可以模拟它并运行你的ui测试断开连接它会更好。但所有这些都需要大量的设计工作,值得一试,但对于小型应用程序和java初学者而言非常复杂。也许你会更好地只测试你的UI,并记住你的测试并不完美。