wkevin 发表于 2007-8-23 10:43:09

请求,唯一性的内容如何自动测

我在用QTP自动测试时,有个问题不知如何解决:
    我在测网站时,注册用户名和密码——再注销——再注册,因为用户名是唯一的所以无法重复使用,所以在DTATTABLE中增加了多条数据以备测试,但是这样每次测完所有数据就要手动再次准备和增加所需数据,请问有没有办法让QTP中DATATABLE表自动 删除已用过的记录,再增加新的记录。

winfood 发表于 2007-8-23 12:51:46

QTP自带DataTable的数据可以在运行过程中修改,但是修改后的数据不能保存。
LZ的想法可以通过把数据外部的Excel文件实现,
准备好一批用户名,保存到Excel文件中;
运行脚本时,用DataTable.Import方法导入这些数据;
运行结束后,把用过的数据清除并新生成一批数据;
用DataTable.Export方法导出这些数据;

除此之外,也可以在脚本里面通过Excel.Application对象直接操作Excel文件。达到读取、修改和保存的目的。

wkevin 发表于 2007-8-23 13:02:34

你说:QTP自带DataTable的数据可以在运行过程中修改,但是修改后的数据不能保存。
我刚接触QTP不久。请问要怎么才能让运行过程自动修改数据?

danmy 发表于 2007-8-23 14:41:34

准备一条数据就可以了,每次注册的时候在现有的用户名前面加一个顺序的后缀不就完了

比如用户名a,你这次运行的时候从a1一直跑到a1000,再跑你把a改成b,从b1跑到b1000

rivermen 发表于 2007-8-23 15:58:07

原帖由 danmy 于 2007-8-23 14:41 发表 http://bbs.51testing.com/images/common/back.gif
准备一条数据就可以了,每次注册的时候在现有的用户名前面加一个顺序的后缀不就完了

比如用户名a,你这次运行的时候从a1一直跑到a1000,再跑你把a改成b,从b1跑到b1000


dim strUser,strTemp,i
strUser="a"

for i=1 to 1000
       strTemp=strUser & i
......
next

walker1020 发表于 2007-8-24 00:28:31

还可以考虑 固定的字符串(如 tester)和 随机数(1到100)的组合作为用户名。注意:最后都把它们转换为字符串。

yabest 发表于 2007-8-24 01:46:23

随机数还是不够用的,难免会重复。
可以考虑用 前缀+日期+时间+序列号,如 user_0824_123020_0001,这样就保证不会重复。

jean_xhq 发表于 2009-4-21 14:19:05

非常感谢,正遇到这个难题。
页: [1]
查看完整版本: 请求,唯一性的内容如何自动测