|
关于第一个问题,我一般是写一个while循环来实现的,代码如下:
boolean flag = false;
int time = 1;
while(!flag && time < 20){
RootTestObject root = getRootTestObject();
TestObject[] to = root.find();//find里的参数太复杂了,我就先不写了.
if(to.length !0){
flag = true;
}
sleep(1);
time++;
}
以上代码将执行查找对象的操作,如果找不到对象,则会持续等待20秒,如果找到了,则结束循环执行下一行脚本,在上面的的代码中如果把time参数去掉,那么脚本就会一直查找直到找到对象为止,之所以不用RFT提供的方法,是因为我无法对RFT的方法进行重写,这样的话就无法按照我的需求去编写代码了。
关于第二个问题,我查找对象一般都是用find方法,在今年进行的自动化测试中,所有的对象识别都是建立在find方法的基础上的,没用录制功能。对于一些不能识别的OCX控件,则使用watir进行识别(我们测试的B/S系统,所以可以用WATIR),我一直不喜欢在自动化测试过程中使用录制的方式生成脚本,虽然在初期可以节省不少的工作量,但是在后期你会发现,脚本的维护工作简直就是一场恶梦! |
|