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 crond任务调度(定时任务),Linux磁盘分区/挂载
一.crond任务调度 1.基本语法 crontab [选项] -e : 编辑 crontab定时任务 -l : 查询crontab -r : 删除当前用户所有的crontab任务 例子: 每分钟执行 ...
- 『炸弹 线段树优化建图 Tarjan』
炸弹(SNOI2017) Description 在一条直线上有 N 个炸弹,每个炸弹的坐标是 Xi,爆炸半径是 Ri,当一个炸弹爆炸 时,如果另一个炸弹所在位置 Xj 满足: Xi−Ri≤Xj≤Xi ...
- [更新] Jetbrains IntelliJ IDEA 2019 的许可证密钥
亲测有效.转载目的:提供一种方法,当然可以看一下原网站的更新及其他方法.转载:[更新] Jetbrains IntelliJ IDEA 2019 的许可证密钥(100%工作),By Gideon ...
- Java 8 ArrayList 详解
GitHub Page: http://blog.cloudli.top/posts/Java-ArrayList/ ArrayList 继承于 AbstractList ,实现了 List.Rand ...
- .Net Core 指定编码格式的问题
我们在读取txt文件时,如果文件格式不是utf8,则获取的中文会乱码,所以要么另存文件为utf8格式,要么使用和文件相同的编码来读取. 如果文件为utf8,则: //一种 StreamReader s ...
- Delphi中HInstance
通过测试看出:HInstance.Application.Handle.Self.Handle不是一回事. Self.Handle是窗体句柄: Application.Handle也是个窗体的句柄,不 ...
- 调用WebApi出现 远程服务器返回错误: (500) 内部服务器错误
一.检查错误错误 将 HttpWebResponse response = (HttpWebResponse)request.GetResponse();改为 HttpWebResponse resp ...
- nginx部署angular
官方部署教程 本文将angular官网的示例项目 heroes(英雄指南) 部署到nginx. 使用angular cli编译项目 ng build 执行完成后会生成一个 dist 目录. 服务器配置 ...
- [ROR] 如何在mixin模块中定义类方法(Howto define class methods in a mixin module)
方法一: 修改模块的include方法 module Bbq def self.included(base) base.send :include, InstanceMethods base.exte ...
- 【开发笔记】-通过js控制input禁止输入空格
<input type="text" id="fname" onkeyup="myFunction(id)"> <scri ...