51Testing软件测试论坛

标题: 有关QTP数据库检查点的问题 [打印本页]

作者: wzwz8888    时间: 2008-4-17 20:44
标题: 有关QTP数据库检查点的问题
在QTP 中通过数据库检查点是可以从数据库中取出数据来与期望值进行比较。但是在QTP中数据库的检查点的SQL语句能否带入前面界面的参数。例如,用户登陆后需要查询账户中的钱,这个时候需要将界面中的钱数与数据库中的比较,在使用数据库检查点去后台数据库查询的时候,这个时候的SQL语句就需要带入一个帐号的参数(帐号参数是动态的,可以通过界面来取到)。有没有简单的办法将这个参数带入到数据库检查点的SQL语句中呢?
作者: tracy99999    时间: 2008-4-18 00:23
可以传进去,要不你把你的脚本贴出来
作者: wzwz8888    时间: 2008-4-18 09:36
下面就是代码,全部是QTP自己产生的,没有做任何修改,其中第四行就是通过取数据库检查点,但是在界面上通过microsoft的query的形成的SQL语句好像不能用参数。



Browser("Home - Online Banking").Page("Home - Online Banking").WebEdit("login").Set "ben"
Browser("Home - Online Banking").Page("Home - Online Banking").WebEdit("password").SetSecure "480733fbfdc26da9d72c78fffbb929f72017d6c89eb5"
Browser("Home - Online Banking").Page("Home - Online Banking").Image("Sign In").Click 25,17
DbTable("DbTable_2").Check CheckPoint("DbTable_2")
Browser("Home - Online Banking").Page("Account Summary - Online").Link("Logout").Click
Browser("Home - Online Banking").Page("Home - Online Banking").Sync
Browser("Home - Online Banking").Close
作者: wzwz8888    时间: 2008-4-21 15:07
自己顶一下
作者: wq0909    时间: 2008-4-21 17:08
对检查点进行参数化:
可以使用环境变量,关键字Environment("EnvName")

比如要用登录用户的名字,就定义Environment("EnvUserName")=Browser("Home - Online Banking").Page("Home - Online Banking").WebEdit("login").GetRoProperty("text")

然后再定义环境变量,用来存一条SQL语句:
Environment("EnvSQL")="select  money from userdate where username=" & Environment("EnvUserName")

然后在OR中的数据库对象source属性中选择使用环境变量,且输入EnvSQL.

然后就可以使用了。
作者: zhou840401    时间: 2008-4-21 17:15
如果想验证数据,你也可以用vbs直接访问数据库,具体的怎么方法可以看一下qtp安装目录下面有一些文件夹,是存放QTP自带的library.




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2