51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3737|回复: 11
打印 上一主题 下一主题

[原创] Loadrunner 脚本中如何使用连接数据库,判断事务的成功和失败

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-3-1 09:13:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、如执行一个事务
lr_start_transaction("T_Egressive_brief_summary");
web_custom_request("springUser.saveResult.dwr",
.....
                "c0-e1=string:{p_callid}\n"
.....

lr_end_transaction("T_Egressive_brief_summary", LR_AUTO);
2、在执行web_custom_request需要连接oracle数据库,检查 call_list表中的status_fk字段,如果status_fk=2,则事务成功,否则失败。select count (*)from call_list t where t.id=p_callid ,这个p_callid 从事务中取

3、请各位大侠帮忙
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-3-1 09:14:04 | 只看该作者
在线等
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    3#
    发表于 2011-3-2 21:20:27 | 只看该作者
    没有必要这么麻烦吧,是否成功有相应的提示信息的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2011-3-3 09:10:35 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2011-3-3 09:16:41 | 只看该作者
    返回消息中增加了,如下检查点,但是事务的成功数,和数据库表更新数不一致。所以想增加个数据库检查点,判断事务的成功与否。
    web_reg_find("Fail=NotFound",
      "Search=Headers",
      "Text=200 OK",
      LAST);
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    6#
    发表于 2011-3-3 13:16:16 | 只看该作者
    回复 5# meibaocai


        这样的话,可以把返回消息中增加上一段,从数据库中查询的结果,然后用关联取到这段值与提交的值对比看是否一致
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2011-3-3 14:33:06 | 只看该作者
    楼主问题解决了吗?我也很想学习一下这个该怎么写。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2011-3-3 22:33:19 | 只看该作者
    如果是oracle的数据库
    可以选择ora-2tier那个协议,用sqlplus登录数据库并查询的操作,然后把脚本粘过来,做一下参数化就可以了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2011-3-7 10:46:54 | 只看该作者
    还没有解决呢,oldsuper  能给个事例吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2011-3-9 15:47:27 | 只看该作者
    已经解决
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2011-3-9 15:47:44 | 只看该作者
    如下:
    lrd_ora8_stmt(OraStm1, "select count(*) from call_list where status_fk='2'and id='{p_callid}'", 1,0,0);
                    lrd_ora8_exec(OraSvc1, OraStm1, 0, 0,&rownum, 0, 0, 0, 0, 1);
                    lrd_ora8_bind_col(OraStm1, &OraDef1, 1, &NUM, 0, 0);
                    lrd_ora8_save_col (OraStm1, 1, 1, 0, "ROW");
                    lrd_ora8_fetch(OraStm1, -1, 15, &uliFetchedRows, 0, 2, 0, 0);
                    lr_output_message("value : %s",  lr_eval_string("The  count is: {ROW}"));        
           
                    if(atoi(lr_eval_string("{ROW}"))>0)
                    {
                            lr_end_transaction("T_Egressive_brief_summary", LR_PASS);

                    }
                    else
                    {
                            lr_end_transaction("T_Egressive_brief_summary", LR_FAIL);

                    }
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2011-10-28 15:53:33 | 只看该作者
    顶一个
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-10-4 21:25 , Processed in 0.106059 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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