使用Robotium处理随机对话框

时间:2013-01-17 09:06:36

标签: android robotium

我正在尝试使用Robotium测试登录方案。我的困惑在于,我如何测试以下内容:

案例1:如果在Web服务调用期间发生某些错误并且随机显示对话框,我该如何处理。因为我不确定这个对话框是否会出现。

案例2:如果处理了这件事,测试会失败还是通过?因为要成功登录,用户应该导航到下一个屏幕。

1 个答案:

答案 0 :(得分:2)

您知道此对话框何时何地发生,因此可以将其放置在代码中以处理对话框。例如:

假设您有一些像这样的代码

solo.clickOnView(view1);

solo.clickOnView(view2);

并且您知道对话框可以出现在测试的这两个步骤之间,您可以将代码放在以下代码中:

if(solo.waitForView(dialogView, 1000, false)){
    solo.clickOnView(dialogDismissButton);
    solo.clickOnView(view2) //retry the step above
}

如果错误可能再次发生,那么将这些调用放入函数并递归/循环尝试此循环一段时间可能是有意义的。

至于案例2.这取决于你的成功标准,理想情况下,如果我是你,我会尝试删除导致上述错误的任何外部依赖,所以它永远不会发生,但如果你坚持它是片状的。用户是否认为这是一个错误?我可能会说,如果您的生产应用程序无法经常登录,那么应用程序出现问题,我会失败,不执行上述要点,但这就是我的解释,请与业务分析师/客户/最终用户联系并获得他们的观点。