2013-08-23 37 views
0

我是Robotium的新手,我有两个问题。 1)我想点击自定义列表视图项目,但它不工作。我试着用clickInList(int)和clickInlist(int,int)。solo.clickInlist(int)不适用于Robotium中的自定义列表视图

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

+0

向我们展示'solo.clickInList(int,int)'的代码。 – tolgap

+0

solo.clickInInList(0,1); – Sathish

+0

是的,但是什么是'solo',以什么方法叫做 – tolgap

回答

7

有需要注意的clickInList(int)方法是不是很明显两个重要的事情:首先,列表项是1指数的,所以点击列表中的第一项,请使用clickInList(1)clickInList(0)。其次,点击与屏幕上的可见项目相关,因此clickInList(1)将单击列表中的第一个可见项目,而不是整个第一个项目。

至于动态处理对话框,任何弹出窗口都不是真正的Robotium要处理的。它应该在已知的,受控的,可重复的条件下测试用户与应用的交互。如果在测试过程中出现意想不到的情况,例如连接失败,则应视为失败;无论如何,你的测试很可能无法完成。作为一个哈克变通,你可以每个活动之前检查对话框的存在,是这样的:

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

不过,我会反对这项建议,它会测试大大减缓,再次,即使您关闭了对话框,错误首先发生的事实可能会导致测试的后期部分失败。

+0

感谢您的帮助:) – Sathish

+0

并提到一个陷阱,我刚刚介入:如果您调用'clickInList(0)'Robotium只是用'1'代替'0'并继续处理语句。 – Nantoka

相关问题