harryliu 发表于 2011-9-29 17:30:08

QTP数据库验证点的问题

一个.net的windows程序,里面有个SwfListView查询结果列表,每一行为一条查询结果,查询结果有用户名、类型等几列值。
我想将这些值从结果列表中取出来,然后放到DataTable中,再通过插入数据库验证点来检验DataTable中这列值是否在数据库中。数据库验证点的关键列为用户名,是不可重复的

结果在一条查询结果的数据都输出到DataTable中后,数据库验证点执行结果是失败,显示预期结果是DataTable中的值,但是实际结果却显示在数据库中找不到该行,不知道是哪里的错误。

我在Datatable中添加上该条数据的各个值时,数据库验证点就能查到了,请教这到底是为什么

阳光下的橙子 发表于 2011-9-29 23:05:11

你的数据库查询后返回的结果是什么?所谓数据库检查点,匹配的应该是单个数值
如果是类似Select 字段A From xxxx Where 字段B = XXXX 这样的语句,你要确定你返回的是多行还是单行数据,不然你就要一个一个checkpoint的去比较了

harryliu 发表于 2011-9-30 11:14:55

回复 2# 阳光下的橙子

建立数据库检查点时查询语句是select * from table t,然后选择查询结果的一行都勾上,把这一行的数据都添加为检查点,然后分别设置参数对应datatable中的某一列。

datatable中的数都是通过语句datatable.value临时写进去的,写完之后再运行数据库检查点。

测试完成后查看结果发现数据库检查点里显示实际值是空值,我猜数据库检查点不支持datatable.value临时写入的值的查询,不知道是不是,如果是的话不知道该怎么解决

阳光下的橙子 发表于 2011-9-30 16:03:20

回复 3# harryliu


    理论上不存在不支持Datatable.value这个方法的情况,你可以建立一个Recordset的对象去
存储你返回的结果集,再把结果集的内容写入datatable或者excel,txt,具体的办法你可以自己搜索
例子

harryliu 发表于 2011-10-9 18:02:51

回复harryliu


    理论上不存在不支持Datatable.value这个方法的情况,你可以建立一个Recordset的对 ...
阳光下的橙子 发表于 2011-9-30 16:03 http://bbs.51testing.com/images/common/back.gif

谢谢回答,我后来用数据库输出值,输出到数据表中然后和预期值作比较,虽然麻烦了点,不过可以实现我想要的功能了
页: [1]
查看完整版本: QTP数据库验证点的问题