有两个重要的事情要注意关于 clickInList(int)
是不是很明显的方法: 第一,列表项是 1-建立索引,所以,请单击第一项的列表中,使用 clickInList(1)
不 clickInList(0)
。第二,单击这是相对的可见的项目,在屏幕上,那么clickInList(1)
将单击在列表上,不全面的第一项的第一个可见项。
对话框的动态处理的事宜,任意的弹出窗口不是真正的 Robotium 什么意思来处理。应该要测试与已知的、 可控的、 可重复条件下的应用程序的用户交互。如果发生意外在测试,例如失去连接,它应被视为失败 ;有您的测试不能运行,以完成反正好机会。作为一个出租司机的变通,您可以检查存在之前的事件,每个对话框的类似:
if(solo.searchText("Dialog text") {
//handle closing dialog
}
不过,我会建议针对这一点,它很大,会减慢您的测试,再次,即使您关闭该对话框,这一事实错误发生在第一次的地方可能会导致部分测试将失败的后面。
Android自动化测试—操作对话框(Dialog)上面的控件
Robotium框架提供了获取、操作控件的API,如下图:
对于有id或者String的控件可以通过Robotium直接找到,但是对于弹出的Dialog上面的控件单纯的利用Robotium的API是行不通的,见下图场景:
对于上图中弹出的Dialog中仅仅对Set和Cancel按钮操作是可以的,但是要是操作+ – 按钮或者需要拿到EditText控件就需要费点心思了。
思路:主要是在弹出Dialog后通过Robotium的solo.getCurrentViews()方法得到Dialog上面的所有控件然后进行相关条件筛选。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |