2015-02-23 84 views
0

我该如何等待,直到完成某件事加载。我需要等到应用程序下载了大约10MB的数据。由于我已经在Robotium类中实现了加载,因此如果完成,我没有机会检查UI的消息。 加载时间有时会更长,所以我不能像solo.sleep(10000)那样放置。 我还有什么其他选择?我试过sleep.waitForCondition()sleep.waitForLogMessage。没有工作。Robotium等到加载日期完成

+0

作为应用程序的用户,您如何告诉下载完成?在用户界面上做了什么改变?元素出现了吗? dissapear? – 2015-02-23 11:43:38

+0

那么,下载通常发生在另一个地方,并有一个进度条。但是为了测试,我从一开始就需要它们。因为测试是独立的并且是随机执行的。所以我需要从开始添加一些对象的数据。这就是为什么我在运行Robotium时在UI上没有任何指示器。 – 2015-02-23 12:17:03

回答

0

一些替代方案:

加载测试线程 - 由于Android测试在一个单独的线程中运行,你可以尝试在同一个线程测试下载(它不会抛出NetworkOnMainThreadException)。下载将阻止测试,直到完成(或超时),然后您可以继续测试。

忙于等待 - 创建加载完成时设置的标志,并在测试中持续检查该标志,直到它被设置,然后继续测试。