loadrunner传k-v,用web_custom_request函数。

init里面执行登录,根据返回获取到tokenId,action中,执行登录后的操作。

详细脚本如下:

vuser_init

  1. vuser_init()
  2. {
  3. //获取response响应信息
  4. //web_reg_save_param("response","LB=","RB=",LAST);
  5.  
  6. //获取tokenId值
  7. web_reg_save_param("tokenId","Search=Body","LB=\"tokenId\":\"","RB=\"",LAST);
  8.  
  9. //添加头文件
  10. //web_add_header("Content-Type","application/json;charset=utf-8");
  11. web_add_header("imei","{userAccount}");
  12. //web_add_header("Pragma","no-cache");
  13. //web_add_header("appversion","2.1.1.2");
  14. //web_add_header("systemversion","android:5.0.2");
  15.  
  16. web_custom_request("login",
  17. "URL=http://127.0.0.1:8081/login",
  18. "Method=POST",
  19. "Resource=0",
  20. "RecContentType=application/json",
  21. "Referer=",
  22. "Mode=HTTP", // O5WDjUwauLx3cACPSkczsElnGiD8n0RDGunFQDMecI96lmBzR5xc2VQhPV0NZbFdaik8tkZsq+kedFdomJ3A9fRklLkJT11IV45mZa9\/R45UslH\/hJqzPVShm\/9vVptgpwYbJZkhkcPx1LSeXJLPwg==|MTIzNDU2Nzg5MDk4NzY1NA==|9eU7qirx0+uJKqcedCzyBQ==
  23. "EncType=application/json",
  24. "Body={\"userAccount\":\"{userAccount}\",\"userPassword\":\"O5WDjUwauLx3cACPSkczsElnGiD8n0RDGunFQDMecI96lmBzR5xc2VQhPV0NZbFdaik8tkZsq+kedFdomJ3A9fRklLkJT11IV45mZa9\\/R45UslH\\/hJqzPVShm\\/9vVptgpwYbJZkhkcPx1LSeXJLPwg==|MTIzNDU2Nzg5MDk4NzY1NA==|9eU7qirx0+uJKqcedCzyBQ==\"}",
  25. LAST);
  26. //输出code值
  27. //lr_output_message("输出code值:%s",lr_eval_string("{code}"));
  28.  
  29. //输出tokenId值
  30. //lr_output_message("输出tokenId值:%s",lr_eval_string("{tokenId}"));
  31.  
  32. //对获取response信息进行转码
  33. //lr_convert_string_encoding(lr_eval_string("{response}"),LR_ENC_UTF8,"GBK","result");
  34.  
  35. //输出response响应信息
  36. //lr_output_message( "返回response响应信息:%s",lr_eval_string("{result}"));
  37. return 0;
  38. }

Action

  1. Action()
  2. {
  3. int res = 0;
  4. //int int_res = 0;
  5. //char * string_res = (char*)calloc(100,sizeof(char)); // 请求存储空间
  6.  
  7. //设置检查点
  8. web_reg_find("Text=\"code\":\"00\"","SaveCount=c00",LAST);
  9. web_reg_find("Text=\"code\":\"8016\"","SaveCount=c8016",LAST);
  10. web_reg_find("Text=\"code\":\"8017\"","SaveCount=c8017",LAST);
  11. //web_reg_find("Text=\"code\":\"8001\"",LAST);
  12.  
  13. //获取response响应信息
  14. //web_reg_save_param("response","LB=","RB=",LAST);
  15.  
  16. lr_start_transaction("payPause");
  17. web_custom_request("activityHandler",
  18. "URL=http://127.0.0.1:8081/payPause",
  19. "Method=POST",
  20. "Resource=0",
  21. "RecContentType=application/json",
  22. "Referer=",
  23. "Mode=HTTP",
  24. "EncType=application/json",
  25. "Body={\"tokenId\":\"{tokenId}\",\"cardNo\":\"62010101{userAccount}\"}",
  26. LAST);
  27.  
  28. res = atoi(lr_eval_string("{c00}"))+atoi(lr_eval_string("{c8016}"))+atoi(lr_eval_string("{c8017}"));
  29.  
  30. //下面四行是调试信息,int和string需要互转
  31. //sprintf(string_res,"%d",res); //int转string
  32. //lr_output_message("string_res = %s",string_res);
  33. //int_res = atoi(string_res); //string转int,其实这里不需要转了,因为res已经是int,这里只是再次体现string如何转int
  34. //lr_output_message("int_res = %d",int_res);
  35.  
  36. if (res > 0){
  37. //lr_output_message("事务成功");
  38. lr_end_transaction("payPause",LR_PASS);
  39. }
  40.  
  41.   else{
  42.   //lr_error_message("事务失败");
  43.   lr_end_transaction("payPause",LR_FAIL);
  44. }
  45.  
  46. //lr_convert_string_encoding(lr_eval_string("{response}"),LR_ENC_UTF8,"GBK","result");
  47. //输出response响应信息
  48. //lr_output_message( "返回response响应信息:%s",lr_eval_string("{result}"));
  49.  
  50. //lr_end_transaction("payPause", LR_AUTO);
  51.  
  52. return 0;
  53. }

vuser_end

  1. vuser_end()
  2. {
  3. return 0;
  4. }

  

loadrunner:传json的更多相关文章

  1. 原生js封装ajax:传json,str,excel文件上传表单提交

    由于项目中需要在提交ajax前设置header信息,jquery的ajax实现不了,我们自己封装几个常用的ajax方法. jQuery的ajax普通封装 var ajaxFn = function(u ...

  2. 【代码笔记】iOS-向服务器传JSON数据的两种方式

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...

  3. 后台给前台传JSON字符串,前台解析并拼接显示

    后台传JSON public class CourseType : IHttpHandler { Epoint.PeiXun.Bizlogic.BLL.CourseLibrary.PX_CourseT ...

  4. ajax往后台传json格式数据报415错误

    问题描述: ajax往后台传json格式数据报415错误,如下图所示 页面代码 function saveUser(){ var uuId = document.getElementById(&quo ...

  5. Loadrunner模拟JSON接口请求进行测试

    Loadrunner模拟JSON接口请求进行测试     一.loadrunner脚本创建 1.Insert - New step -选择Custom Request -  web_custom_re ...

  6. [iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数

    A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Content-Type 设置请求体,JSON实际相当于字典,可以用NSDictionary NSJSONS ...

  7. Retrofit 2.0 超能实践(三),轻松实现文件/多图片上传/Json字符串

    文:http://blog.csdn.net/sk719887916/article/details/51755427 Tamic 简书&csdn同步 通过前两篇姿势的入门 Retrofit ...

  8. python接口自动化-传 json 参数

    一.post请求有两种方法传json参数: 1.传json参数(自动转 json ) 2.传data参数(需 json 转换) 代码参考: payload = { "Jodie": ...

  9. POST 上传 JSON 数据

    // // ViewController.m // 03-post上传json // // Created by jerry on 15/10/10. // Copyright (c) 2015年 j ...

随机推荐

  1. linux部署go

    一.下载tar包并解压 yum -y install wget glibc.i686 #后面一个是依赖包,不安装会报错: /lib/ld-linux.so.2: bad ELF interpreter ...

  2. Can not issue data manipulation statements with executeQuery()的解决方案

     Can not issue data manipulation statements with executeQuery() 报错的解决方案: 把“ResultSet rs = statement. ...

  3. ES6高级技巧(三)

    html转译 let c='<a href="#">Me & you</a>'.replace(/[&<>'"]/g, ...

  4. kafka原理篇

    目录 消息队列分类 点对点 发布/订阅 kafka介绍 kafka架构说明 Topic与Partition的关系 partition复制机制 Consumer与Topic的关系 消息队列分类 点对点 ...

  5. js遍历数组和数组对象

    <script> //----------------for用来遍历数组对象-- var i,myArr = [1,2,3]; for (var i = 0; i < myArr.l ...

  6. 常用Java API之Scanner:功能与使用方法

    Scanner 常用Java API之Scanner:功能与使用方法 Scanner类的功能:可以实现键盘输入数据到程序当中. 引用类型的一般使用步骤:(Scanner是引用类型的) 1.导包 imp ...

  7. <More Effective C#: 改善C#代码的50个有效方法>中文版翻译答疑

    最近, 有一本很赞的.NET技术书中文版出版了 - <More Effective C#: 改善C#代码的50个有效方法>.    从广州\西安\长沙\上海等各地.NET俱乐部都收到反馈, ...

  8. (Manjaro)VirtualBox异常修复:RTR3InitEx failed with rc=-1912 (rc=-1912)

    引言 VirtualBox运行异常好几天,其中尝试一些操作都没有解决. 版本说明 系统版本:4.19.88-1-MANJARO Vbox镜像:kali-linux-2019.4-vbox-amd64. ...

  9. RocketMQ Release Note(RocketMQ升级日志译文)

    RocketMQ升级日志 1 4.2.0 原版Release Note 1.1 New Feature 支持传输层安全性 客户端支持log4j2 PushConsumer支持条数与大小维度的流控 1. ...

  10. 【翻译】nginx初学者指南

    nginx初学者指南 本文翻译自nginx官方网站:http://nginx.org/en/docs/beginners_guide.html#control 该指南会对nginx做一个简要的介绍,同 ...