solo.clickInlist(int)不适用于Robotium中的自定义列表视图

时间:2013-08-23 14:35:29

标签: android listview alertdialog

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

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

提前致谢。

1 个答案:

答案 0 :(得分:7)

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

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

clickInList(1)

但是,我建议不要这样做,它会大大减慢你的测试速度,而且,即使你关闭对话框,错误发生在第一位的事实可能会导致后来的一部分你的考试失败了。