51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4324|回复: 16
打印 上一主题 下一主题

[原创] loadrunner关联使用orb=ALL后,如何赋值?(请各位大大帮忙解决一下)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-21 17:48:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
版本8.0,help里面的代码搬到lr里面会直接error的,lr不认识sprintf函数。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-9-21 18:03:48 | 只看该作者
1,问问题,把脚本帖出来。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-9-23 11:44:07 | 只看该作者
请帖写脚本,貌似只要web_reg_param这个函数就可以了,然后设置下左右边界,请问是什么情况要复制帮助里的呢。sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-9-23 14:54:48 | 只看该作者
ord=ALL后,
数据存入参数:参数名_1,参数名_2,........
参数个数放在参数 "参数名_count" 里

取的话用:  lr_eval_string("{参数名_1}") ,   lr_eval_string("{参数名_2}") , ......

比如:关联参数叫temp,关联出来有5个的话,把个数5赋值给变量i
i= lr_eval_string("{temp_count}");
//此时,i的值为5

不知道是否是楼主所问的意思
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-9-24 09:32:40 | 只看该作者
web_reg_save_param("processid",
                "LB=<processInstanceId>",
                "RB=<",
                "Ord=ALL",
                "Search=Body",
                LAST);
        web_reg_save_param("taskid",
                "LB=<taskInstanceId>",
                "RB=<",
                "Ord=ALL",
                "Search=Body",
                LAST);
processidParam, "{processid_%s}",lr_eval_string("{processid_count}");

        processidParamVal, "Value=%s",lr_eval_string(processidParam);

       lr_message("The value argument is : %s", processidParamVal);


        taskidParam, "{taskid_%s}",lr_eval_string("{taskid_count}");

        taskidParamVal, "Value=%s",lr_eval_string(taskidParam);

       lr_message("The value argument is : %s", taskidParamVal);
web_submit_data("XMLHttpRequestTodoTask.aspx",
                "Action=http://172.16.3.182:9080/ocnweb/XMLHttpRequestTodoTask.aspx",
                "Method=POST",
                "RecContentType=application/xml",
                "Referer=http://172.16.3.182:9080/ocnweb/YUINWManage.aspx",
                "Mode=HTML",
                ITEMDATA,
                "Name=start", "Value=0", ENDITEM,
                "Name=limit", "Value=20", ENDITEM,
                LAST);
        lr_think_time(4);
        web_add_auto_header("Accept",
                "text/javascript, text/html, application/xml, text/xml, */*");
       
               
        web_submit_data("XMLHttpRequestYUIDealWithProcess.aspx",
                "Action=http://172.16.3.182:9080/ocnweb/XMLHttpRequestYUIDealWithProcess.aspx",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://172.16.3.182:9080/ocnweb/YUINWManage.aspx",
                "Snapshot=t7.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=processParam.processName", "Value=loadtest", ENDITEM,
                "Name=processParam.processVersion", "Value=3", ENDITEM,
                "Name=processParam.processInstanceId", "processidParamVal", ENDITEM,
                "Name=processParam.taskInstanceId", "taskidParamVal", ENDITEM,
                "Name=processParam.ticketId", "Value=-1", ENDITEM,
                "Name=processParam.currNodeName", "Value=onestep", ENDITEM,
                "Name=processParam.entityName", "Value=", ENDITEM,
                "Name=processParam.prevTransitionName", "Value=", ENDITEM,
                "Name=processParam.taskOwner", "Value=test1-1", ENDITEM,
                LAST);

因为在测试中,processid和taskid都是变量,所以我准备取processid和taskid的最后一个值给processParam.processInstanceId和processParam.taskInstanceId,请帮忙看看这段脚本有什么问题么?

[ 本帖最后由 icewhite 于 2007-9-24 09:34 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-9-24 11:35:48 | 只看该作者
这个取值后,数组里会有多个值吗?如果有,按4楼所说去取。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-9-24 12:52:40 | 只看该作者
4楼说的只是把count赋值给变量i,但是我是想把temp_5的value赋值给i,那我应该怎么办呢?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2007-10-13 18:19:05 | 只看该作者
    原帖由 limengyun326 于 2007-9-23 14:54 发表
    ord=ALL后,
    数据存入参数:参数名_1,参数名_2,........
    参数个数放在参数 "参数名_count" 里

    取的话用:  lr_eval_string("{参数名_1}") ,   lr_eval_string("{参数名_2}") , ......

    比如:关联参数叫temp,关 ...


    这个方法是可行的,
    i= lr_eval_string("{temp_count}");


    这个里面的 count 怎么参数化进去呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2009-4-25 17:23:07 | 只看该作者
    这个里面的 count 怎么参数化进去呢? [/quote]

    同问,谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2009-4-25 22:07:35 | 只看该作者
    额。。又翻棺材帖了。。

    简单说用sprintf()函数,lr9.0以上可以用lr_paramarr_random()函数
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2009-4-26 00:43:21 | 只看该作者
    棺材帖。。。是啥贴啊?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2009-4-26 11:47:02 | 只看该作者
    lr_paramarr_random()函数我在脚本中运行通过,确实随机返回了关联参数数组中的值,但是在控制器里面跑的时候,通过查看日志可以看到关联参数数组中有100多个值,但每个虚拟用户用lr_paramarr_random()返回都是同一个值。这是为什么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2009-4-26 12:52:35 | 只看该作者
    楼上的问题没遇到过。。。我这里没问题。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2009-4-26 14:51:24 | 只看该作者
    //取得关联参数数组的大小
            ItemNumCount = atoi(lr_eval_string ("{PD_ID_count}"));
            itoa (ItemNumCount,RandNumStr,10);
            //生成1至ItemNumCount的随机整数
            RandNum = 1 + rand() % ItemNumCount;
            //将随机数转换成字符
            itoa (RandNum,RandNumStr,10);
            lr_output_message("生成的随机数:%s", lr_eval_string(RandNumStr));
            //将RandNumStr转换成Rand_val参数然后赋值给TEMP
            lr_save_string(RandNumStr, "Rand_val");
            TEMP = lr_eval_string(lr_eval_string("{PD_ID_{Rand_val}}"));
             //最终使用的随机关联参数
            lr_save_string(TEMP, "Rand_PD_ID");


    换成这种方式实现,结果和用lr_paramarr_random()的问题一模一样。无语......

    [ 本帖最后由 tanky 于 2009-4-26 14:55 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2009-4-26 17:28:12 | 只看该作者
    =.=应该不是随机的问题,而是你关联到的结果的问题个人觉得
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2009-4-26 20:52:19 | 只看该作者
    原帖由 云层 于 2009-4-26 17:28 发表
    =.=应该不是随机的问题,而是你关联到的结果的问题个人觉得



    关联结果是没问题的,查看控制器的vuser log可以看到关联数组里面关联了一百多个参数。

    在控制器里面设置“initialize all vuser simultaneously”和“initialize each vuser just before it runs”

    都会导致这个问题。设置按时间梯度初始化虚拟用户就好了。   一个无聊的解决方案......
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.7]测试师长

    17#
    发表于 2010-7-16 20:59:44 | 只看该作者
    折腾!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-17 23:54 , Processed in 0.073345 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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