0

我是 Robotium 的新手,我有两个问题。1)我正在尝试单击自定义列表视图项,但它不起作用。我尝试使用 clickInList(int) 和 clickInlist(int, int)。

2) 处理随机 AlertDialog:如何在 Robotium 中动态处理显示警报对话框?例如,当我在调用 web 服务期间收到任何消息时,我正在使用警报对话框,例如连接失败、没有互联网、服务器错误、超时等。,

提前致谢。

4

1 回答 1

7

关于该方法,有两点需要注意clickInList(int)但并不明显:首先,列表项是 1 索引的,因此要单击列表的第一项,请使用clickInList(1)not clickInList(0)。其次,点击是相对于屏幕上的可见项目而言的,因此clickInList(1)将点击列表中的第一个可见项目,而不是整体上的第一个项目。

至于对话框的动态处理,任意弹出窗口并不是 Robotium 真正要处理的。它应该在已知的、受控的、可重复的条件下测试用户与应用程序的交互。如果在测试过程中出现意外情况,例如失去连接,则应视为失败;无论如何,您的测试很有可能无法完成。作为一种 hacky 解决方法,您可以在每个事件之前检查对话框是否存在,例如:

if(solo.searchText("Dialog text") {
    //handle closing dialog
}

但是,我建议不要这样做,它会大大减慢您的测试速度,而且即使您关闭对话框,错误首先发生的事实可能会导致您的测试后期失败。

于 2013-08-23T15:28:02.833 回答