51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5223|回复: 30
打印 上一主题 下一主题

在qtp中建立带参数的数据库检测点如何设置

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-4-25 13:58:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
谁知道在qtp中如何建立带参数的数据库检测点?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
  • TA的每日心情
    开心
    2015-2-26 08:31
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    31#
    发表于 2007-12-6 14:07:37 | 只看该作者
    有帮助
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    30#
    发表于 2007-6-5 15:19:19 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29#
    发表于 2007-6-2 20:48:45 | 只看该作者
    又学到东西了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28#
    发表于 2005-5-11 17:12:10 | 只看该作者
    没有的.PASS是不会显示绿色的打勾的!
    只会在REPORT那里的RESULT显示,
    如果是FAIL,就有会打叉显示!
    打勾是作CHECKPOINT时才会!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27#
    发表于 2005-5-11 16:26:24 | 只看该作者
    QA_BOY,
    pass的怎么没有绿色的对勾啊?
    也不进入report中的统计,
    你看看我上面贴的图。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    26#
     楼主| 发表于 2005-5-11 14:44:49 | 只看该作者
    多谢!按着你们说的问题解决了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    25#
    发表于 2005-5-10 17:27:03 | 只看该作者
    以后有什么问题多多交流吧!
    :d:d:d:d:d:d:d:d
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24#
    发表于 2005-5-10 13:46:19 | 只看该作者
    不赖不赖!
    1. Reporter.ReportEvent 1, "密码输入框", "未显示,失败."
    2. Reporter.ReportEvent 2, "密码输入框", "显示正常,通过."
    3. Reporter.ReportEvent 3, "密码输入框", "位置不对,警告."
    4. Reporter.ReportEvent 4, "密码输入框", "最大输入长度5个汉字,信息."
    复制代码

    [ Last edited by lovetest6 on 2005-5-10 at 14:12 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23#
    发表于 2005-5-10 13:09:40 | 只看该作者
    跟WR的tl_step差不多
    就是
    if    value = 0    then
        Reporter.ReportEvent 2, "密码输入框", "密码输入存在,通过测试."
      Else
        Reporter.ReportEvent 2, "密码输入框", "密码输入入框不存在,没有通过测试."
    end if

    注意以上所写的符号,还有数字

    状态有四种:
    0 or micPass: Causes the status of this step to be passed and sends the specified message to the report.
    1 or micFail: Causes the status of this step to be failed and sends the specified message to the report. When this step runs, the test or component fails.
    2 or micDone: Sends a message to the report without affecting the pass/fail status of the test or component.
    3 or micWarning: Sends a warning message to the report, but does not cause the test or component to stop running, and does not affect the pass/fail status of the test or component.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22#
    发表于 2005-5-10 12:48:57 | 只看该作者
    QA_BAY:
    对对对啊,就是这种啊,应该怎么写啊?知道么??
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
    发表于 2005-5-10 12:17:14 | 只看该作者
    你可以把结果记录发到RESULT REPORT中,
    就是运行完就显示在结果那里!是不是这种呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2005-5-10 10:10:03 | 只看该作者
    建一个dsn指向你的数据库或者你能知道connection string也可以
    然后写vbscript代码(我觉得说ASP更好,呵呵)

    1. 代码:
    2. --------------------------------------------------------------------------------

    3. Set Conn = CreateObject("ADODB.Connection")
    4. Set Rs = CreateObject("ADODB.Recordset")
    5. Conn.Open "写上你的dsn连接到数据库,或者写连接字符串"
    6. 循环开始for,while什么都行,条件要写好
    7. username="<datatable.SetNextRow>" <----这里要用取datatable中的数据。
    8. Rs.Open "select * from dim_user where username=" & username",Conn
    9. 循环结束
    10. --------------------------------------------------------------------------------
    复制代码


    判断Rs.Fields("username")是否存在就可以了,当然了,其实判断rs是否为空就可以了。太详细的代码我也要查手册和以前写的例子了。有问题我再给你查。


    另外,我想问一下,如果自己写的程序里面有结果需要记录,是不是应该把结果记录到output value中去啊?对output value不大理解,各位见笑啊。
    总不能让我再自己写脚本生成一个文本文件吧?呵呵。


    [ Last edited by lovetest6 on 2005-5-10 at 10:51 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2005-5-9 16:44:05 | 只看该作者
    我想表达的意思是:
    比如说我想测试一个用户的增加功能是否正确,增加用户user和密码pwd,保存后。想通过数据库检查点监测库中是否存在这条用户。由于脚本需要不断的复用,因此我将用户和密码的值都参数化为parauser & parapwd, 那么我的数据库检查点的sql也必须参数化,不能写成固定的sql,否则预期的值和真正的值便不相匹配,但是在数据库检查点的SQL query中无法将sql参数化,而只能写成诸如 select * from dim_user where userid='1' 这样固定的数据,如果这样写,expected data肯定是和真正的值不相匹配的,请问如果将这个sql匹配,使得expected data根据动态的sql动态生成了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
     楼主| 发表于 2005-5-9 16:17:02 | 只看该作者
    TO QA_BAY:
    我明白你的意思了,可是,我想知道QTP对数据库检测时,可以使用参数吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2005-5-9 14:28:44 | 只看该作者
    QTP不像WR那样
    它比WR方便多了。
    你连好数据库之后直接导进数据不行吗?然后可以选择你想检查的数据!就这样阿,
    你想写SQL语句也可以!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2005-5-9 13:07:41 | 只看该作者
    Originally posted by QA_BAY at 2005-5-9 12:57 PM:

    不会阿,你可以对一条记录进行检测,QTP比WR弹性多了,也可以写SQL语句;
    1.先选择一个字段,然后QTP导出所有的数据,这时,你可以选择想检查的数据.也可以只查一条.
    2.你也可以写SQL语句


    针对我上面的例子,你看怎么实现,可以写一下代码吗?我现在没有思路。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2005-5-9 12:57:37 | 只看该作者
    Originally posted by 飘雪 at 2005-5-9 09:45 AM:
    想对数据库中的某一条记录进行检测,如果不通过参数,而是直接增加数据库检测点的话,他就把数据的所有记录全部查询出来,如果数据特别多,不好锁定一条记录,所以可以通过参数,直接锁定要查的那条记录,例如, ...

    不会阿,你可以对一条记录进行检测,QTP比WR弹性多了,也可以写SQL语句;
    1.先选择一个字段,然后QTP导出所有的数据,这时,你可以选择想检查的数据.也可以只查一条.
    2.你也可以写SQL语句
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2005-5-9 09:45:17 | 只看该作者
    想对数据库中的某一条记录进行检测,如果不通过参数,而是直接增加数据库检测点的话,他就把数据的所有记录全部查询出来,如果数据特别多,不好锁定一条记录,所以可以通过参数,直接锁定要查的那条记录,例如,要在表dim_sparepart  中查找sparepart_no为1的记录,其中在进行数据源的设置时,采用的sql语句为:select sparepart_no,sparepart_name,flag_sn,flag_enabled from dim_sparepart  where sparepart_no=?
    在脚本录制时对参数付值:dbvf1_params[1] =1;
    然后加入数据库检测点:
    db_check("list6.cdl", "dbvf1", NO_LIMIT, dbvf1_params);
    此时就可以查询出sparepart_no=1的记录了。不知道我的意思表达清楚没?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2005-5-8 17:23:59 | 只看该作者
    查看了QTP的数据库连接,切实与WR不相同!
    再说,对你在WR的那种方法我没有看明白.
    可能我理解有问题,可以说清楚点吗?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-16 08:04 , Processed in 0.090592 second(s), 30 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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