关于RFT中顺序读取数据表
上一篇 /
下一篇 2008-05-14 16:47:04
/ 个人分类:RFT
这两天一直在学习
RFT工具,碰到的第一难题竟然是对数据表进行遍历。
51Testing软件测试网9tM;_;z%Jk例如我有一张数据表,里面只有一个字段:usr_name,储存用户登录名。里面有十行记录。现在我要做的就是把这十行记录都输出,在实际的项目过程中,我们会要求输入这十个用户名。
C/e#I{A6v
P{0第一次实验时发现
测试脚本运行完第一行后就结束了,而且我竟然没找到数据表读取设置的选项(刚
学习,实在找不到)。由于不熟悉RFT的功能和语法,在花费了近三个小时充分研究了datapoolscrīptsupport和Idatapool及相关的方法后,终于将代码写出来了,代码如下:
d9v Vs#qgj:^0while(!dpDone()){
51Testing软件测试网)XP$\6A*e&Hts System.out.println(dpString("usr_name"));
D+bQ+b5g1q0^0 this.dpNext();
;LG;yr ?
yOc\0}
51Testing软件测试网.E R$ft.z!zp H*s写完后我就哭了,三个小时四行代码!
51Testing软件测试网S"f*@a0?不过这个跟头栽的不冤,通过研究这个问题,我弄明白了以下几个问题:
51Testing软件测试网/nW,O4R Qk1、RFT软件中一个脚本只能关联一个测试数据表,虽然可以通过自自己定义JAVA接口实现对多个数据表的读取,但是那不是RFT软件的功能;
51Testing软件测试网s5j(eF^,m\2、正因为RFT中一个脚本只关联一个测试数据表,所以在脚本中我们可以直接使用DatapoolscrīptSupport对象的dpString()方法来获取参数值。其实我很想知道这个dpString()方法是怎么实现的,为什么我不用创建DatapoolScripsuppor对象的实例就可以直接调用该方法?,但是翻遍了API文档也没找到,只好暂时作罢。
P[_;ZX03、如果仅仅是读取与脚本关联的测试数据表,我们用不到datapoolscrīptsupport和Idatapool这两个类。
51Testing软件测试网,h(t1Zhj
V4、RFT对数据驱动的理解与
QTP不同,这点从数据表就能看出来,QTP中每一个脚本都有两种数据表,分别是全局表和本地表,并且在一个脚本中我们可以增加无限个本地表,也就是说,QTP脚本与测试数据表是一对多的关系;但是RFT中,脚本与测试数据表就是一对多的关系,也就是说一个数据池可以被多个脚本所共享。这点差别会导致
自动化测试设计的差异。具体会有哪些差异我一时也举不出例子来。
MI3^5p!b6Hu @*o @9x05、通过三个小时的反复折腾,我对RFT的API文档结构更加熟悉了。在以后的脚本开发过程中,这将大大提高我的开发效率。
51Testing软件测试网i"y1o,x"H\(I1D}2y6、RFT中脚本与数据表多对一的关系会使设计和开发过程更简单。
51Testing软件测试网 YoO3Of1UH%Rz
收藏
举报
TAG:
RFT
读取数据表