.png)
4)点击OK按钮等到的脚本如下
soap_request("StepName=SOAP Request", //步骤名称
"SOAPEnvelope=" //发送到服务器的XML
"<soap:Body>"
"<theCityName>南京</theCityName>"
"</getWeatherbyCityName>"
"</soap:Body>"
"</soap:Envelope>",
"ResponseParam=response", //存储服务器响应返回参数
"Snapshot=t1555556002.inf",
LAST);
5)加入事务,参数化与if,对脚本进行判断(注意输入参数为中文时,需要将NULL编码转换为utf-8,输出内容为乱码是需要将utf-8编码转换为NULL,使用lr_convert_string_encoding函数)
lr_convert_string_encoding(lr_eval_string("{cityname}"),NULL,"utf-8","city");
lr_save_string(lr_eval_string("{city}"),"city_name");
//添加事务
lr_start_transaction("getcityname");
soap_request("StepName=SOAP Request", //步骤名称
"SOAPEnvelope=" //发送到服务器的XML
"<soap:Body>"
"<theCityName>{city_name}</theCityName>"
"</getWeatherbyCityName>"
"</soap:Body>"
"</soap:Envelope>",
"ResponseParam=response", //存储服务器响应返回参数
"Snapshot=t1555556002.inf",
LAST);
//返回的信息乱码转译,并高亮打印
lr_convert_string_encoding(lr_eval_string("{response}"),"utf-8",NULL,"msg");
lr_error_message(lr_eval_string("{msg}"));
//返回值为xml文件格式,该函数自动将返回值转变为中文的了,不需要使用lr_convert_string_encoding,本例获取城市信息
lr_xml_get_values(
"XML={response}",//查看的xml
"Query=/Envelope/Body/getWeatherbyCityNameResponse/getWeatherbyCityNameResult/string[2]", //查看返回内容路径在,指定元素或者属性
"ValueParam=getcityname", //存储返回的值
LAST);
//本例获取城市天气信息,与脚本判断无关,实际脚本中可以不需要,这边是强化记忆来着
lr_xml_get_values(
"XML={response}",//查看的xml
"Query=/Envelope/Body/getWeatherbyCityNameResponse/getWeatherbyCityNameResult/string[11]", //查看返回内容路径在,指定元素或者属性
"ValueParam=getWeatherby", //存储返回的值
LAST);
//断言判断
if(strcmp(lr_eval_string("{getcityname}"),lr_eval_string("{cityname}"))==0)
{
lr_end_transaction("getcityname", LR_PASS);
lr_output_message("成功查询出%s的今日天气情况:%s",lr_eval_string("{cityname}"),lr_eval_string("{getWeatherby}"));
}
else
{
lr_end_transaction("getcityname", LR_FAIL);
lr_output_message("查询失败,输入的城市与返回的城市信息不一致,输入城市信息为%s,返回城市信息为%s",lr_eval_string("{cityname}"),lr_eval_string("{getcityname}"));
}
6)脚本执行结果如下(实测无问题)
.png)
3.可以使用web_custom_request()函数,也可以做web service协议:
1)将鼠标放置到需要插入脚本的地方,右击,选择增加步骤,输入 web_custom_request,弹出对应设置框
.png)
2)点击OK得到的脚本如下
web_custom_request("web_custom_request",
"Method=POST",
"TargetFrame=",
"Resource=0",
"Referer=",
"Mode=HTTP",
"EncType=text/xml; charset=utf-8",
"Body=<?xml version="1.0" encoding="utf-8"?>
<soap:Body>
<theCityName>string</theCityName>
</getWeatherbyCityName>
</soap:Body>
</soap:Envelope>",
LAST);
3)需要将body中的“”进行转译,且Body都需要加上引号,优化之后如下
web_custom_request("web_custom_request",
"Method=POST",
"TargetFrame=",
"Resource=0",
"Referer=",
"Mode=HTTP",
"EncType=text/xml; charset=utf-8",
"Body=<?xml version=\"1.0\" encoding=\"utf-8\"?>"
" <soap12:Body>"
"<theCityName>string</theCityName>"
"</getWeatherbyCityName>"
"</soap12:Body>"
"</soap12:Envelope>",
LAST);
4)加入事务,加关联,if,对脚本进行判断(注意使用lr_convert_string_encoding函数转码)
lr_convert_string_encoding(lr_eval_string("{cityname}"),NULL,"utf-8","city");
lr_save_string(lr_eval_string("{city}"),"city_name");
web_reg_save_param_ex(
"ParamName=weather_city",
"LB=<string>",
"RB=</string>",
"Ordinal=2",
SEARCH_FILTERS,
LAST);
lr_convert_string_encoding(lr_eval_string("{weather_city}"),NULL,"utf-8","weather_city1");
lr_error_message(lr_eval_string("{weather_city1}"));
lr_start_transaction("weather");
web_custom_request("web_custom_request",
"Method=POST",
"TargetFrame=",
"Resource=0",
"Referer=",
"Mode=HTTP",
"EncType=text/xml; charset=utf-8",
"Body=<?xml version=\"1.0\" encoding=\"utf-8\"?>"
" <soap12:Body>"
"<theCityName>{city_name}</theCityName>"
"</getWeatherbyCityName>"
"</soap12:Body>"
"</soap12:Envelope>",
LAST);
if(strcmp(lr_eval_string("{weather_city1}"),lr_eval_string("{cityname}"))==0)
{
lr_end_transaction("weather", LR_PASS);
}
else
{
lr_end_transaction("weather", LR_FAIL);
}
SOAP工具的简单实用
当我们只知道wsdl地址时,我们可以使用该工具知道具体的请求体,具体如下
1)打开工具,点击页面上的SOAP
2)点击ok,成功项目,点击其他具体的接口,可查看到请求体信息,输入参数,即可得到返回信息(左边请求信息,右边返回信息)
.png)

- 性能测试总结工作总结-基于WebService协议脚本 内置函数手动编写
LoadRunner基于WebService协议脚本 WebService协议脚本有三种生成方式,一种是直接通过LoadRunner导入URL自动解析生成:一种是使用LoadRunner内置函数手动编 ...
- LR11中webservice协议的性能测试应用
使用LR11对webservice协议的接口测试应用 脚本开发步骤:1.打开vuser generator,新建一个脚本,选择webservice协议:2.选择Manage Services(服务管理 ...
- LR编写webservice协议接口
转自:http://lovesoo.org/use-loadrunner-call-webservice-interface-testing-optimization-summary.html 本文主 ...
- webservice中采用协议Http,它是指什么意思
webservice 协议 Web Service使用的是 SOAP (Simple Object Access Protocol)协议soap协议只是用来封装消息用的.封装后的消息你可以通过各种已有 ...
- LoadRunner系列之—-02 基于webservice协议的接口测试(脚本实例)
Loadrunner 基于webservice协议的接口压力测试(脚本实例) 接口功能如下:请求接口,报文只有一个参数为证件号码:返回报文中,有证件号码是否能查到对应数据,查到几条数据. 思路:请求w ...
- Loadrunner测试webservice协议总结
Loadrunner测试webservice协议总结 一.协议选择 1.打开Virtual user generator,新建脚本,选择webservice协议
- Loadrunner11点击录制脚本无响应,IE页面弹不出——解决方案汇总
以前用Loadrunner的时候都没有遇到过这个问题,后来将服务器重装系统(win7)后,重新安装Loadrunner11,浏览器版本刚开始为IE11,后来降为IE8,IE访问部署在虚拟机里的平台能正 ...
- lr_java user协议脚本开发
1.准备工作,安装jdk,配置环境变量 lr11 jdk1.6 32位 lr12 jdk1.7 32位 注:若原已安装了jdk1.8,现要安装jdk1.7,若遇到安装好1.7并配置好环境后,在cmd中 ...
- [WebService].net中WebService的使用实例
.net中WebService的使用实例 一.创建一个Webwebservice 1.新建一个项目WebserverDemo 2.在项目处添加新建项,添加一个web服务 3.编辑TestServer. ...
随机推荐
- redis 字符串(string)函数
字符串(string)函数 get 命令/方法/函数 Description Get the value related to the specified key 取得与指定的键值相关联的值 Para ...
- 网站https证书SSL证书相关
网站https证书SSL证书相关 二级域名可以申请证书来使用,主域名申请的单域名证书,二级域名不在https加密保护内,通配符证书可以保护主域名下所有的二级子域名,二级域名等于和主域名使用的同一张证书 ...
- Linux基础篇
Linux入门 2.1 Linux介绍 1)Linux是一款操作系统,特点:免费.开源.安全.高效.稳定.处理高并发非常强悍,半年至一年重启一次机即可,比Windows强悍,现在很多企业级项目都部署到 ...
- day10-11-python基础之字符串
1.开发工具 python开发IDE: pycharm.eclipse # 专业版 # 不要汉化 2.运算符 结果是值 算数运算 a = 10 * 10 赋值运算 a = a + 1 a+=1 结果是 ...
- 连阿里都在用它处理亿万级数据统计,论其对Java程序员的重要性!
一.了解淘宝Kafka架构 在ActiveMQ.RabbitMQ.RocketMQ.Kafka消息中间件之间,我们为什么要选择Kafka?下面详细介绍一下,2012年9月份我在支付宝做余额宝研发,20 ...
- JS中if判断 非空即为真 非0即为真
1.字符串参与判断时:非空即为真判断字符串为空的方法if(str!=null && str!=undefined && str !='')可简写为if(!str){ ...
- mybatis的collection查询问题以及使用原生解决方案的结果
之前在springboot+mybatis环境的坑和sql语句简化技巧的第2点提到,数据库的一对多查询可以一次查询多级数据,并且把拿到的数据按id聚合,使父级表和子级表都有数据. 但是这种查询,必然要 ...
- P4859 已经没有什么好害怕的了(dp+二项式反演)
P4859 已经没有什么好害怕的了 啥是二项式反演(转) 如果你看不太懂二项式反演(比如我) 那么只需要记住:对于某两个$g(i),f(i)$ ---------------------------- ...
- 小试wsl
安装 管理员权限运行powershell,执行如下命令: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Su ...
- bzoj 3704 昊昊的机油之GRST - 贪心
题目传送门 传送门 题目大意 给定一个数组$a$和数组$b$,每次操作可以选择$a$的一个子区间将其中的数在模4意义下加1,问把$a$变成$b$的最少操作次数. 首先求$b - a$,再差分,令这个数 ...