51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4742|回复: 10
打印 上一主题 下一主题

[求助] QTP能否动态验证数据库?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-11-5 17:12:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我们有个ASP.NET做的网站,后台数据库为SQL SERVER 2000,其中有注册用户的功能,我想注册一个用户成功后,用QTP来验证后台数据库中是否已经有了这个用户。我做的步骤如下:
1。录制一段用户注册的完整脚本,其步骤包括“注册新用户”,“填写新用户信息”,“提交”,“注销”;
2。在keyword view中,把用户名参数化(在global中,表名为USERID);
3。在“提交”与“注销”步骤之间,我添加了一个database checkpoint,在Connection string中填入相应的连接字符串,在SQL statement中填入selete * from 用户表名,点击finish后,用户表的所有字段都出来了;

在这一步我就不知道在哪里添加验证点了,如果选择一个用户名再点参数化,并且从刚才建立的参数表名(USERID)中选择,回放肯定是会报错的,大家有什么好办法吗?谢谢了!

[[i] 本帖最后由 fei.ge 于 2009-6-12 09:45 编辑 [/i]]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

11#
发表于 2009-6-11 17:14:50 | 只看该作者
看了7楼的回复,学会了。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2005-11-18 13:21:10 | 只看该作者
嗯,厉害啊,不简单
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2005-11-16 11:33:58 | 只看该作者
xingxing79 ,我肯定要请你吃饭的!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-11-15 09:55:05 | 只看该作者
xingxing真厉害
向你学习!!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-11-14 14:16:28 | 只看该作者
where 后面的语句可以通过连接加进去。
例如:
   DbTable("DbTable").SetTOProperty "Source", "select a.card_no,a.imsi,a.sub_card_no,c.subclass_note ,b.user_id,b.msisdn from sim_card a,users b,data_dict c  where  a.imsi=b.imsi and c.data_type=6 and c.data_class=30 and c.DATA_SUBCLASS=a.is_sold and a.carno='"+sim_num+"'"


看看这条语句吧。card.no是一个变化的值,你可以把变量sim_num通过连接符号,赋值。

至于如何添加检查点,你把期望的结果在界面上通过OUTPUT到datatable的某一列上,然后将数据库检查点查询的结果也存放到刚才out的列,这样就可以实现检查点的实际结果与期望结果的检查了。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-11-8 15:32:12 | 只看该作者
有饭吃啊?呵呵,那你就自己写个checkpoint呗。
让你那个where后面的条件参数化不就行了,然后自己用reporter在结果里面打出pass还是faild.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2005-11-8 10:26:31 | 只看该作者
P老师的意思我明白了,但是where 列名=???后面的东西是不确定的,因为前面的注册用户名字已经参数化了,所以???处不能只输入一个名字来验证,回放的时候是会报错的,其实际值与期望值不一样。
而且,就算是要注册的用户名为user2,添加数据库验证点时select * from 用户表名 where userid='user2',这一句添加时QTP会报错的,因为数据库内部还没有这个用户。这个问题比较头疼,谁解答出来我肯定请他吃饭的!:d

[ Last edited by rickcui on 2005-11-8 at 10:31 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-11-7 14:56:04 | 只看该作者
楼主放的没有问题
不过你不应该 直接select * from 表 应该还有 where 列名=你要判断是否加入的信息
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2005-11-6 09:59:03 | 只看该作者
我发现Source里面是SQL语句,如果做参数化就无法应用该语句了,请问楼上您是怎样做的?能尽量说的详细点吗?谢谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2005-11-5 22:12:53 | 只看该作者
把数据库DbTable("table")的Source属性参数化
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 21:24 , Processed in 0.078356 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表