Loadrunner测试json接口
1. loadrunner + json说明
使用lr测试json接口,向服务端发送json格式请求,接收处理返回响应数据。
主要用到函数:
1)web_custon_request
2)web_reg_save_param (此函数常用户处理动态参数,该方法在LoadRunner中被称为Correlation(关联))
2. web_custon_request 参数说明
3. 具体实例如下(包含发送json,获取响应数据,设置关联、设置检查点):
/*
定义事务:
1)用户注册
2)用户登录
3)用户签到
接口为:application/json
思路:
1)app注册,获到mobile
2)使用获取到的mobile登录,获取tokenid和userid。 参数化:手机号码、设备号
*/ Action()
{
//定义接口url
char *Interface_Url;
lr_save_string("http://192.168.0.1:8080/action.a","Interface_Url"); //注册事务开始
lr_start_transaction("用户注册");
lr_rendezvous("register"); //检查用户是否注册成功
web_reg_find("Search=Body",
"Text=createTime",
"SaveCount=createTime",
LAST); //web_set_max_html_param_len("10000000"); //获取用户注册后响应数据,并传给mobile
web_reg_save_param("mobile",
"LB=\"mobile\":\"", //设置左边界
"RB=\",", //设置右边界
"Ord=1",
"Notfound=empty",
"Search=Body",
LAST); web_custom_request("register",
"Url={Interface_Url}", //设置url
"Method=POST", //设置方法,post或get
"Mode=HTTP",
"EncType=application/json", //编码类型
"RecContentType=application/json",
"Body={\"c\":\"1001\",\"p\":{\"code\":\"9051\",\"mobile\":\"{phone}\",\"pwd\":\"123456\",\"model\":\"{model}\",}}", //请求主体,json格式,分号前需要加斜杠
LAST); lr_vuser_status_message("注册事务,虚拟用户数 #%s",lr_eval_string("{phone}"));
lr_end_transaction("用户注册",LR_AUTO); //登录事务开始
lr_start_transaction("用户登录");
lr_rendezvous("login"); web_reg_find("Search=Body",
"Text=lastLoginTime",
"SaveCount=lastLoginTime",
LAST);
//获取用户登录后响应数据tokenId,并传给pdl_dynamic_tokenId
web_reg_save_param("pdl_dynamic_tokenId",
"LB=\"tokenId\":\"",
"RB=\"",
"Ord=1",
"Notfound=empty",
"Search=Body",
LAST);
//从用户登录响应数据中,获取pdl_user_id
web_reg_save_param("pdl_user_id",
"NotFound=warning",
"LB=\"id\":",
"RB=,\"inviteCode",
"Ord=1",
"Search=Body",
LAST);
web_custom_request("login",
"Url={Interface_Url}",
"Method=POST",
"Mode=HTTP",
"EncType=application/json",
"RecContentType=application/json",
"Body={\"c\":\"1002\",\"p\":{\"mobile\":\"{pdl_mobile}\",\"pwd\":\"123456\"}}",
LAST);
lr_end_transaction("用户登录",LR_AUTO); //用户签到
lr_start_transaction("用户签到");
lr_rendezvous("Sign_in"); web_reg_find("Search=Body",
"Text=signDate",
"SaveCount=signDate",
LAST);
web_custom_request("pdl_Sign_in",
"Url={Interface_Url}",
"Method=POST",
"Mode=HTTP",
"EncType=application/json",
"RecContentType=application/json",
"Body={\"c\":\"1014\",\"p\":{\"userId\":\"{pdl_user_id}\",\"tokenId\":\"{pdl_dynamic_tokenId}\"}}",
LAST);
lr_end_transaction("用户签到",LR_AUTO); return ;
}
Loadrunner测试json接口的更多相关文章
- Loadrunner模拟JSON接口请求进行测试
Loadrunner模拟JSON接口请求进行测试 一.loadrunner脚本创建 1.Insert - New step -选择Custom Request - web_custom_re ...
- Loadrunner Http Json接口压力测试
前天接到了一个测试任务,要求测试一下ES(elsticsearch)在不同并发下的查询效率.如图: 业务场景是在客户端根据具体车牌查询相关车辆信息,结果返回前10条记录. 从图中可以看到,接口的请求参 ...
- LoadRunner HTTP+Json 接口性能测试
接口的请求参数和返回结果均是JSON字符串,请求可以用POST或者GET方法.先说GET方法: 一.GET方法测试 Insert - New step -选择Custom Request - web_ ...
- LoadRunner 测试Socket接口函数说明
lrs_save_param_ex是lrs_save_param的扩展函数,包含了lrs_save_param的基本功能.其函数语法结构如下: int lrs_save_param_ex ( char ...
- 使用Loadrunner进行http接口压力测试
业务描述: 在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回. 本文就讲述使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据: ...
- LoadRunner模拟REST接口的json请求
LoadRunner模拟REST接口的json请求 现在很多手机应用的性能测试,REST接口调用通过json格式,在用loadrunner模拟这些json请求时,需要开发提供 1.供接口地址 2.提交 ...
- SoapUI测试WS接口实战
引文: 本文讨论以下问题: 视频播放功能如何进行压力测试? 进行webservices接口测试时,用LR和soapui哪个工具更好? 1 测试需求 前几天接到一项压力测试的任务:视频播放功能的并发压力 ...
- 使用SOAPUI测试WEBAPI接口
其实很简单,用起来也挺方便的. 首先,先去百度下SoapUI 下载,下载安装好后,打开软件. 1.新建一个项目 点击 Create Empty Project 按钮后,会自动新建一个项目,名字默认为: ...
- 使用Jmeter3.1进行接口测试(包含需登录后测试的接口)
Jmeter版本为3.1,以下只针对此版本进行测试说明: 1.打开Jmeter3.1: 启动命令路径:apache-jmeter-3.1\bin\jmeter.bat 2.测试步骤: 1.测试计划-- ...
随机推荐
- hdoj 2046 骨牌铺方格
骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- IOS多线程知识总结/队列概念/GCD/主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别(附代码)
进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间 线程:线程是进程中一个独立的执行路径(控制单元);一个进程中至少包含一条线程,即主线程 队列 dispa ...
- 转载sql server 关于 default value的一些使用总结
转载原出处:http://blog.csdn.net/miqi770/article/details/6728733 1.在创建表的时候,给字段添加的默认值约束 CREATE TABLE " ...
- Head First设计模式-观察者模式
一.整体代码 Subject.java public interface Subject { public void registerObserver(Observer o); public void ...
- 编写一个Shape类,具有属性:周长和面积; 定义其子类三角形和矩形,分别具有求周长的方法。 定义主类E,在其main方法中创建三角形和矩形类的对象, 并赋给Shape类的对象a、b,使用对象a、b来测试其特性。
package shape; public class Shape { //定义成员变量 private double zhouchang; private double mianji; public ...
- Android真机抓屏- Android Screen Monitor
一般运行Android应用程序有两种方式一种是设置Android虚拟设备模拟器,通过Android Virtual Manger进行管理,一种是插入USB数据线直接真机上进行调试,但是如果电脑配置比 ...
- 08重编终极版《东邪西毒:终极版》DVD粤语中字
1.东邪西毒].Ashes.of.Time.1994.384p.DVDRip.x264.ac3-DTMM.mkv 这个版本最清晰 ,可惜删减了,只有87分钟,粤语,1.4G. 2.东邪西毒(初始版). ...
- Vim文本编辑器 指令簿(二)
常常处理文本以及常常须要写代码的人,都会有自己比較常常使用的编辑器,本人喜欢用Vim.理由就是Vim编辑器灵活,而且能够达到纯键盘操作,使用纯熟情况下,根本不须要鼠标操作.听起来是不是非常酷的?只是别 ...
- android122 zhihuibeijing 主页面搭建
右边主页面布局设计: 文字颜色选择器和是否点击的图片选择器 路径和写法: <?xml version="1.0" encoding="utf-8"?&g ...
- Ruby简介,附带示例程序
Ruby语言是日本人松本行弘于1993年器开始着手研发,经历2年时间,发布了Ruby语言的第一个版本:0.95版. Ruby是一种非常简介的解释性语言,一种纯粹的面向对象编程语言,甚至比Jav ...