51Testing软件测试论坛

标题: loadrunner,不采用for循环,而采用批量提交怎么做 [打印本页]

作者: lansanniu    时间: 2015-2-2 21:59
标题: loadrunner,不采用for循环,而采用批量提交怎么做
我采用web-http/html协议录制的脚本

for(i=0;i<10;i++){
web_custom_request("baseoper_67",
                "URL=http://192.168.41.80:8081/PLATFORM/baseoper",
                "Method=POST",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Mode=HTML",
                "EncType=application/x-java-serialized-object",
                "Body={\"....参数A..}",
                LAST);
}

参数A为n个数字,写在参数化的变量file里,每次for循环后取下一个。

但是客户端真正的做法是多线程提交给服务器的,比如一次提交10个请求。
这么一来我的脚本只能达到客户端的1/10的效率,显然不符合实际情况。
请问高手怎么能模拟客户端,一次提交10个请求。
作者: lansanniu    时间: 2015-2-2 22:10
求助高手啊   自己顶。
能不能把多个请求的body  写在一个里面呢?但是我不知道怎么连接多个body的数据
作者: 土土的豆豆    时间: 2015-2-3 10:13
可以写多个脚本在一个body里的
作者: shilr    时间: 2015-2-3 10:18
并发是LR帮你实现的啊,你只需要写好1个请求,设置10个并发就好了
作者: lansanniu    时间: 2015-2-3 20:12
可能我说的不够明白,集合点并发这个我知道,但是不是和集合点相关的。

比如我有3个request请求要提交,就是上面的代码。
但是我用for循环做的话,它是一条条提交的,循环3次,每次循环都会取新的参数。
但是实际的客户端处理是,把这3个请求一次性提交给服务端,用多线程方式。
我的问题是,能不能模仿客户端一次提交,比如,把这3次请求的body,写在一个request里,执行一次就可以。基本就这个意思。
作者: lansanniu    时间: 2015-2-3 20:16
土土的豆豆   -----可以写多个脚本在一个body里的

是的  我就是意思是能不能写多个body内容在一个body里   放在一个request中提交
但是我不知道怎么写多个。我把源码贴出来大家看看,{product_no_loop}就是我要循环的参数,我目前使用for来一次次提交的。
怎么样把body写在一起??

        web_custom_request("baseoper_67",
                "URL=http://{ip_address}/PLATFORM/baseoper",
                "Method=POST",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t347.inf",
                "Mode=HTML",
                "EncType=application/x-java-serialized-object",
                "Body={\"className\":\"IActControlService\",\"methodName\":\"doBusOper\",\"paraAssemble\":[{\"paraType\":\"HashMap\",\"paraValue\":\"{\\\"C_PORT_CODE\\\":\\\"{product_no_loop}\\\",\\\"C_DVA_ITEM_CODE\\\":\\\"XGSG,XZSG,GPJY,ZQJY,JJJY,CWSS,CNSS,QZJY,QZXQ,HGJY,CKTZ,CJJY,PJJY,QHJY,QQJY,QQXQ,XHJY,YQJY,HHJY,RZRQ,HGJY_GP,ZQMK,TAXS,DJPX,ZQSP,ZQZH,ZQLT,JYJS_XS,JYJS_ZQ,SZJZYW,ZJHH,JYHZ,RCJT_YD,RCJT_ZQ,RCJT_HG,RCJT_CK,RCJT_CJ,RCJT_PJ,RCJT_ZH,RCJT_JZ,RCJT_FXJ,RCJT_HH,RCJT_JJ,RCJT_YY,RCJT_SF,RCJT_JYFY,ZCGZ_ZQ,ZCGZ_XJ,"
                "ZCGZ_YY,SCCW_SCPZ\\\",\\\"D_START\\\":\\\"{date_start}\\\",\\\"D_END\\\":\\\"{date_end}\\\",\\\"C_OPER_CODE\\\":\\\"130673561735023018\\\",\\\"C_FUN_CODE\\\":\\\"valuation\\\",\\\"C_IDF_CODE\\\":\\\"\\\",\\\"C_RELA_ID\\\":\\\"\\\"}\"}]}",
                LAST);
作者: lansanniu    时间: 2015-2-5 22:00
没人来回答了吗   求助~~~~~~~~~~
作者: saharaqs    时间: 2015-2-6 11:22
如果是录制的脚本并且录制的页面上是3个request同时提交的,那么不用处理。

如果是自己开发的脚本,则用web_concurrent_start()、web_concurrent_end()函数。
作者: saharaqs    时间: 2015-2-6 11:27
如果是录制的脚本并且录制的页面上是3个request同时提交的,那么不用处理。

如果是自己开发的脚本,则用web_concurrent_start()、web_concurrent_end()函数。
作者: lansanniu    时间: 2015-2-7 13:38
谢谢楼上的   我先去试试看
作者: 大于细~难于易    时间: 2015-10-12 20:55
感觉好叼!




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