Loadrunner中web_custom_request使用场景
其中有一段从服务器段动态返回的字符串需要重新提交给服务器(见红色标注) 录制自动生成的脚本是:
web_submit_data("generateYfLstAction.do",
"Action=http://172.32.234.213:8001/SAPIR/commission/generateYfLstAction.do",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://172.32.234.213:8001/SAPIR/commission/listCommissionAction.do",
"Snapshot=t10.inf",
"Mode=HTML",
ITEMDATA,
"Name=proc", "Value=page", ENDITEM,
"Name=companyCode", "Value=2000", ENDITEM,
"Name=tradeZone", "Value=", ENDITEM,
"Name=trade", "Value=", ENDITEM,
"Name=genDateBegin", "Value=2007-06-18", ENDITEM,
"Name=genDateEnd", "Value=2007-07-18", ENDITEM,
"Name=tradeLane", "Value=", ENDITEM,
"Name=actvyDateBegin", "Value=", ENDITEM,
"Name=actvyDateEnd", "Value=", ENDITEM,
"Name=svcLoopCodeBase", "Value=", ENDITEM,
"Name=svvdBase", "Value=", ENDITEM,
"Name=portCodeBase", "Value=", ENDITEM,
"Name=svcLoopCode", "Value=", ENDITEM,
"Name=svvd", "Value=", ENDITEM,
"Name=portCode", "Value=", ENDITEM,
"Name=commMode", "Value=", ENDITEM,
"Name=commType", "Value=", ENDITEM,
"Name=commClass", "Value=", ENDITEM,
"Name=blRefCode", "Value=", ENDITEM,
"Name=totalPage", "Value=1211", ENDITEM,
"Name=currentPage", "Value=5", ENDITEM,
"Name=downloadInd", "Value=0", ENDITEM,
"Name=page", "Value=5", ENDITEM,
"Name=commYfLstIds", "Value=1902189472274599&9999203000&Cargo&USD&SAL&1&1", ENDITEM,
"Name=commYfLstIds", "Value=1902189472274599&9999203000&Operation&USD&FPOL&1&1", ENDITEM,
"Name=commYfLstIds", "Value=1903184294047663&9999203000&Cargo&USD&SAL&1&1", ENDITEM,
"Name=commYfLstIds", "Value=1903184294047663&9999203000&Operation&USD&FPOL&1&1", ENDITEM,
"Name=commYfLstIds", "Value=1902644201920888&9999203000&Cargo&USD&SAL&1&1", ENDITEM,
"Name=commYfLstIds", "Value=1902644201920888&9999203000&Operation&USD&FPOL&1&1", ENDITEM,
"Name=commYfLstIds", "Value=1903191810240974&9999203000&Cargo&USD&SAL&1&1", ENDITEM,
"Name=commYfLstIds", "Value=1903191810240974&9999203000&Operation&USD&FPOL&1&1", ENDITEM,
"Name=commYfLstIds", "Value=1903191810240966&9999203000&Cargo&USD&SAL&1&1", ENDITEM,
"Name=commYfLstIds", "Value=1903191810240966&9999203000&Operation&USD&FPOL&1&1", ENDITEM,
"Name=companyCode", "Value=2000", ENDITEM,
LAST);
因为这些value都是动态提交,因此需要改用web_custom_request函数
修改后的脚本如下:
web_custom_request("generateYfLstAction.do",
"URL=http://172.32.234.213:8001/SAPIR/commission/generateYfLstAction.do",
"Method=POST",
"Resource=0",
"RecContentType=text/html",
"Referer=http://172.32.234.213:8001/SAPIR/commission/listCommissionAction.do",
"Snapshot=t27.inf",
"Mode=HTTP",
"Body=proc=page&companyCode=2000&tradeZone=&trade=&genDateBegin=2007-06-18&genDateEnd=2007-07-18&tradeLane=&actvyDateBegin=&actvyDateEnd=&svcLoopCodeBase=&svvdBase=&portCodeBase=&svcLoopCode=&svvd=&portCode=&commMode=&commType=&commClass=&blRefCode=&totalPage=1206¤tPage=3&downloadInd=0&page=3&commYfLstIds=1902457907718192&9999203000&Cargo&USD&SAL&1&1&commYfLstIds=1902457907718192&9999203000&Operation&USD&FPOL&1&1&commYfLstIds="1903242276105507&9999203000&Operation&USD&FPOL&1&1&commYfLstIds=1903242276105522&9999203000&Cargo&USD&SAL&1&1&commYfLstIds=1903242276105522&9999203000&Operation&USD&FPOL&1&1&commYfLstIds=1902525553448997&9999203000&Cargo&USD&SAL&1&1&commYfLstIds=1902525553448997&9999203000&Operation&USD&FPOL&1&1&companyCode=2000",
LAST); 但是这个动态字符串中包含“&”,和函数中默认&代表连接符冲突,因此提交服务器端是报错。
我手工把body段的凡是commYfLstIds=后不是连接符的“&”都替换成%26,才能提交成功(手动修改后代码如下) "Body=proc=page&companyCode=2000&tradeZone=&trade=&genDateBegin=2007-06-18&genDateEnd=2007-07-18&tradeLane=&actvyDateBegin=&actvyDateEnd=&svcLoopCodeBase=&svvdBase=&portCodeBase=&svcLoopCode=&svvd=&portCode=&commMode=&commType=&commClass=&blRefCode=&totalPage=1206¤tPage=3&downloadInd=0&page=3&commYfLstIds=1902457907718192%269999203000%26Cargo%26USD%26SAL%261%261&commYfLstIds=1902457907718192%269999203000%26Operation%26USD%26FPOL%261%261&commYfLstIds="1903242276105507%269999203000%26Operation%26USD%26FPOL%261%261&commYfLstIds=1903242276105522%269999203000%26Cargo%26USD%26SAL%261%261&commYfLstIds=1903242276105522%269999203000%26Operation%26USD%26FPOL%261%261&commYfLstIds=1902525553448997%269999203000%26Cargo%26USD%26SAL%261%261&commYfLstIds=1902525553448997%269999203000%26Operation%26USD%26FPOL%261%261&companyCode=2000",
我是把服务器动态返回的“1902189472274599&9999203000&Cargo&USD&SAL&1&1”这类记录都进行了动态关联,因此请问大家如何才能让lr自动将动态关联所得参数中出现的“&”转义变成%26呢?
Loadrunner中web_custom_request使用场景的更多相关文章
- loadrunner中面向目标场景的设计
在一个面向目标的方案中,可以定义五种类型的目标:虚拟用户数.每秒点击次数(仅 Web Vuser).每秒事务数.每分钟页面数(仅 Web Vuser)或方案的事务响应时间.使用“编辑方案目标”对话框可 ...
- LoadRunner中web_custom_request 和 web_submit_data的差别
- loadrunner中使用web_custom_request函数调用webservice接口
1.使用的接口地址: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?op=getWeatherbyCityName 以SOAP ...
- LoadRunner中Action的迭代次数的设置和运行场景中设置
LoadRunner中Action的迭代次数的设置和运行场景中设置 LoadRunner是怎么重复迭代和怎么增加并发运行的呢? 另外,在参数化时,对于一次压力测试中均只能用一次的资源应该怎么参数化呢? ...
- LoadRunner中运行场景时提示"You do not have a license for this Vuser type."
LoadRunner中运行场景时提示"You do not have a license for this Vuser type." 2012-06-15 17:09:07| 分 ...
- 搭建LoadRunner中的场景(二) 集合点
Rendezvous: 这个单词来自于法语,军队集合的意思.LoadRunner中是指各虚拟用户在同一时刻完成指定的操作. 一. 集合点设置步骤 1. 在脚本中需要测试并发性能的操作之前加入集合点. ...
- LoadRunner脚本设计、场景设计和结果分析
本次笔记主要记录LoadRunner脚本设计.场景设计和结果分析 1. 脚本设计 录制模式 手工模式:插入步骤.手动编写 1.1 脚本增强: ...
- LoadRunner中的Web 函数列表
LoadRunner中的Web 函数列表 web test LoadRunner fuction_list D:\Program Files (x86)\Mercury Interactive\Mer ...
- Loadrunner中Throughput(吞吐量)的分析与计算
Throughput翻译为吞吐量,按照常规理解网络吞吐量表示在单位时间内通过网卡数据量之和,其中即包括本机网卡发送出去的数据量也包括本机网卡接收到的数据量,但这个理解在Loadrunner记录的Thr ...
随机推荐
- Serenity框架官方文档翻译(1-2开始、安装和界面)
1.开始 最好的和最快速地上手Serenity的方法是使用SERENE,它是一个示例应用程序模板. 您有2个选项来安装SERENE 模板到您的Visual Studio: 从Visual Studio ...
- 解决mysqldump: Got error: 1044: Access denied for user
转自:http://blog.slogra.com/post-512.html 今天给新加的几个数据库备份,在执行mysqldump的时候,居然报mysqldump: Got error: 1044: ...
- 高效使用git的一些命令
1,添加文件到版本库 添加单个文件: git add filename 添加所有txt文件: git add *.txt 添加所有修改文件: git add ...
- 模板插件aTpl.js新增功能
摘要: aTpl.js是一款模板插件,该插件支持ie5+,chrome等浏览器以及移动端浏览器,支持for和if语法,以及表达式.最近对aTpl.js模板插件增加了新的功能,支持字符串模板,同时增加了 ...
- NOIP2011 聪明的质监员
描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi .检验矿产的流程是: 1 .给定m 个区间[Li ...
- php面试题之四——PHP面向对象(基础部分)
四.PHP面向对象 1. 写出 php 的 public.protected.private 三种访问控制模式的区别(新浪网技术部) public:公有,任何地方都可以访问 protected:继承, ...
- [Unity3D]计时器/Timer
原地址:http://blog.sina.com.cn/s/blog_5b6cb9500101aejs.html https://github.com/xuzhiping7/Unity3d-Timer ...
- $gte 必须使用双引号,且冒号后面不能有空格
pry(main)> puts "showlastupdate:{\"$gte\":\"#{Date.today.to_s(:number)}\" ...
- myeclipse2014集成SVN
团队合作的项目肯定少不了版本控制,那么现在就看看myeclispe中是如何使用的吧. 开发环境:myeclipse 2014 java 8 tomcate 8 试了网上说的几种方法,都没有成功,最 ...
- redhat 6 / centos 6 搭建Django环境
1)首先 安装的时候 到 选择安装那些包的时候 把 编译环境和开发的包 那块全部打上勾 2)系统虽然自带Python安装包,但是版本比较低.所以推荐自行进行tar包编译安装比较新的 https:// ...