Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用robotium测试android应用程序web服务调用?_Android - Fatal编程技术网

如何使用robotium测试android应用程序web服务调用?

如何使用robotium测试android应用程序web服务调用?,android,Android,我已经开发了一个android应用程序,我想在上面运行robotium测试用例。我遇到的第一个问题是,在我的应用程序中,我使用了很多web服务调用来与服务器交互,每当应用程序点击服务器时,我都会显示一个进度对话框,现在我想让robotium等待,直到应用程序收到服务器的响应,但我可以使用waitForDialogToClose()等待一段时间,实际上,我想让它准确地等待,直到它从服务器得到一些响应或错误。怎么做 第二个问题是,我正在向服务器上传数据(如文件或图像),并显示进度条,在这种情况下,我

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

第二个问题是,我正在向服务器上传数据(如文件或图像),并显示进度条,在这种情况下,我想让robotium等待进度条达到最大值。请帮忙

问候,,
Ram。

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

因此,在robotium中,您不能在模型或rest客户端中插入侦听器,然后等待响应进入您的应用程序。因此,您有两种选择:

  • 在UI上进行中继,等待给定的状态出现在UI中,如您建议的对话框或列表内容等
  • 在继续测试之前,请等待一段时间,此时您非常确定数据将在那里。但这样做风险更大,失败的次数也更多
有些单元测试很适合测试您的rest客户机(或同等产品),如果您可以模拟它并在断开连接的情况下运行ui测试,那就更好了。但所有这些都需要大量的设计工作,值得一试,但对于一个小应用程序和一个java初学者来说却很复杂。也许您最好只测试您的UI,并记住您的测试并不完美