loadrunner:传json
loadrunner传k-v,用web_custom_request函数。
init里面执行登录,根据返回获取到tokenId,action中,执行登录后的操作。
详细脚本如下:
vuser_init
- vuser_init()
- {
- //获取response响应信息
- //web_reg_save_param("response","LB=","RB=",LAST);
- //获取tokenId值
- web_reg_save_param("tokenId","Search=Body","LB=\"tokenId\":\"","RB=\"",LAST);
- //添加头文件
- //web_add_header("Content-Type","application/json;charset=utf-8");
- web_add_header("imei","{userAccount}");
- //web_add_header("Pragma","no-cache");
- //web_add_header("appversion","2.1.1.2");
- //web_add_header("systemversion","android:5.0.2");
- web_custom_request("login",
- "URL=http://127.0.0.1:8081/login",
- "Method=POST",
- "Resource=0",
- "RecContentType=application/json",
- "Referer=",
- "Mode=HTTP", // O5WDjUwauLx3cACPSkczsElnGiD8n0RDGunFQDMecI96lmBzR5xc2VQhPV0NZbFdaik8tkZsq+kedFdomJ3A9fRklLkJT11IV45mZa9\/R45UslH\/hJqzPVShm\/9vVptgpwYbJZkhkcPx1LSeXJLPwg==|MTIzNDU2Nzg5MDk4NzY1NA==|9eU7qirx0+uJKqcedCzyBQ==
- "EncType=application/json",
- "Body={\"userAccount\":\"{userAccount}\",\"userPassword\":\"O5WDjUwauLx3cACPSkczsElnGiD8n0RDGunFQDMecI96lmBzR5xc2VQhPV0NZbFdaik8tkZsq+kedFdomJ3A9fRklLkJT11IV45mZa9\\/R45UslH\\/hJqzPVShm\\/9vVptgpwYbJZkhkcPx1LSeXJLPwg==|MTIzNDU2Nzg5MDk4NzY1NA==|9eU7qirx0+uJKqcedCzyBQ==\"}",
- LAST);
- //输出code值
- //lr_output_message("输出code值:%s",lr_eval_string("{code}"));
- //输出tokenId值
- //lr_output_message("输出tokenId值:%s",lr_eval_string("{tokenId}"));
- //对获取response信息进行转码
- //lr_convert_string_encoding(lr_eval_string("{response}"),LR_ENC_UTF8,"GBK","result");
- //输出response响应信息
- //lr_output_message( "返回response响应信息:%s",lr_eval_string("{result}"));
- return 0;
- }
Action
- Action()
- {
- int res = 0;
- //int int_res = 0;
- //char * string_res = (char*)calloc(100,sizeof(char)); // 请求存储空间
- //设置检查点
- web_reg_find("Text=\"code\":\"00\"","SaveCount=c00",LAST);
- web_reg_find("Text=\"code\":\"8016\"","SaveCount=c8016",LAST);
- web_reg_find("Text=\"code\":\"8017\"","SaveCount=c8017",LAST);
- //web_reg_find("Text=\"code\":\"8001\"",LAST);
- //获取response响应信息
- //web_reg_save_param("response","LB=","RB=",LAST);
- lr_start_transaction("payPause");
- web_custom_request("activityHandler",
- "URL=http://127.0.0.1:8081/payPause",
- "Method=POST",
- "Resource=0",
- "RecContentType=application/json",
- "Referer=",
- "Mode=HTTP",
- "EncType=application/json",
- "Body={\"tokenId\":\"{tokenId}\",\"cardNo\":\"62010101{userAccount}\"}",
- LAST);
- res = atoi(lr_eval_string("{c00}"))+atoi(lr_eval_string("{c8016}"))+atoi(lr_eval_string("{c8017}"));
- //下面四行是调试信息,int和string需要互转
- //sprintf(string_res,"%d",res); //int转string
- //lr_output_message("string_res = %s",string_res);
- //int_res = atoi(string_res); //string转int,其实这里不需要转了,因为res已经是int,这里只是再次体现string如何转int
- //lr_output_message("int_res = %d",int_res);
- if (res > 0){
- //lr_output_message("事务成功");
- lr_end_transaction("payPause",LR_PASS);
- }
- else{
- //lr_error_message("事务失败");
- lr_end_transaction("payPause",LR_FAIL);
- }
- //lr_convert_string_encoding(lr_eval_string("{response}"),LR_ENC_UTF8,"GBK","result");
- //输出response响应信息
- //lr_output_message( "返回response响应信息:%s",lr_eval_string("{result}"));
- //lr_end_transaction("payPause", LR_AUTO);
- return 0;
- }
vuser_end
- vuser_end()
- {
- return 0;
- }
loadrunner:传json的更多相关文章
- 原生js封装ajax:传json,str,excel文件上传表单提交
由于项目中需要在提交ajax前设置header信息,jquery的ajax实现不了,我们自己封装几个常用的ajax方法. jQuery的ajax普通封装 var ajaxFn = function(u ...
- 【代码笔记】iOS-向服务器传JSON数据的两种方式
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- 后台给前台传JSON字符串,前台解析并拼接显示
后台传JSON public class CourseType : IHttpHandler { Epoint.PeiXun.Bizlogic.BLL.CourseLibrary.PX_CourseT ...
- ajax往后台传json格式数据报415错误
问题描述: ajax往后台传json格式数据报415错误,如下图所示 页面代码 function saveUser(){ var uuId = document.getElementById(&quo ...
- Loadrunner模拟JSON接口请求进行测试
Loadrunner模拟JSON接口请求进行测试 一.loadrunner脚本创建 1.Insert - New step -选择Custom Request - web_custom_re ...
- [iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数
A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Content-Type 设置请求体,JSON实际相当于字典,可以用NSDictionary NSJSONS ...
- Retrofit 2.0 超能实践(三),轻松实现文件/多图片上传/Json字符串
文:http://blog.csdn.net/sk719887916/article/details/51755427 Tamic 简书&csdn同步 通过前两篇姿势的入门 Retrofit ...
- python接口自动化-传 json 参数
一.post请求有两种方法传json参数: 1.传json参数(自动转 json ) 2.传data参数(需 json 转换) 代码参考: payload = { "Jodie": ...
- POST 上传 JSON 数据
// // ViewController.m // 03-post上传json // // Created by jerry on 15/10/10. // Copyright (c) 2015年 j ...
随机推荐
- linux部署go
一.下载tar包并解压 yum -y install wget glibc.i686 #后面一个是依赖包,不安装会报错: /lib/ld-linux.so.2: bad ELF interpreter ...
- Can not issue data manipulation statements with executeQuery()的解决方案
Can not issue data manipulation statements with executeQuery() 报错的解决方案: 把“ResultSet rs = statement. ...
- ES6高级技巧(三)
html转译 let c='<a href="#">Me & you</a>'.replace(/[&<>'"]/g, ...
- kafka原理篇
目录 消息队列分类 点对点 发布/订阅 kafka介绍 kafka架构说明 Topic与Partition的关系 partition复制机制 Consumer与Topic的关系 消息队列分类 点对点 ...
- js遍历数组和数组对象
<script> //----------------for用来遍历数组对象-- var i,myArr = [1,2,3]; for (var i = 0; i < myArr.l ...
- 常用Java API之Scanner:功能与使用方法
Scanner 常用Java API之Scanner:功能与使用方法 Scanner类的功能:可以实现键盘输入数据到程序当中. 引用类型的一般使用步骤:(Scanner是引用类型的) 1.导包 imp ...
- <More Effective C#: 改善C#代码的50个有效方法>中文版翻译答疑
最近, 有一本很赞的.NET技术书中文版出版了 - <More Effective C#: 改善C#代码的50个有效方法>. 从广州\西安\长沙\上海等各地.NET俱乐部都收到反馈, ...
- (Manjaro)VirtualBox异常修复:RTR3InitEx failed with rc=-1912 (rc=-1912)
引言 VirtualBox运行异常好几天,其中尝试一些操作都没有解决. 版本说明 系统版本:4.19.88-1-MANJARO Vbox镜像:kali-linux-2019.4-vbox-amd64. ...
- RocketMQ Release Note(RocketMQ升级日志译文)
RocketMQ升级日志 1 4.2.0 原版Release Note 1.1 New Feature 支持传输层安全性 客户端支持log4j2 PushConsumer支持条数与大小维度的流控 1. ...
- 【翻译】nginx初学者指南
nginx初学者指南 本文翻译自nginx官方网站:http://nginx.org/en/docs/beginners_guide.html#control 该指南会对nginx做一个简要的介绍,同 ...