1. Loadrunner基础知识
●Lr常用的函数
●Lr定义变量
●Lr参数化
●.....
2. 脚本编写
2.1 定义接口
//定义接口url char *interface_url; lr_save_string("http://127.0.0.1","interface_url"); |
char : 定义一个char类型的变量来存储url
lr_save_string : lr_save_string函数主要是将程序中的常量或变量保存为lr中的参数
2.2 编写事务
从登陆开始吧。
//登录事务 lr_start_transaction("用户登录"); lr_rendezvous("login"); web_custom_request("login", "Url={interface_url}", //使用{}引用参数 "Method=POST", //HTTP方法:POST 或 GET "Mode=HTTP", //记录模式:HTML 或 HTTP "EncType=application/json", //编码类型 "RecContentType=application/json", //内容类型 "Body={\"mobile\":\"13900009999\",\"pwd\":\"123456\"}", //请求body LAST); lr_end_transaction("用户登录",LR_AUTO); |
Loadrunner中关于http请求的函数很多,常见如
●web_url
●web_custom_request
●web_image
●web_add_cookie
●web_add_header
●web_custom_request函数允许使用任何方法或主体创建自定义的HTTP请求,其使用范围更广。
其中,Body中,如果是json类型的,引号需要使用 \ 进行转义。其他类型的,直接跟=后面即可。
2.3 检查响应是否符合预期
通过web_reg_find,可以验证响应是否符合期望,如通过搜索文本字符串。
web_reg_find("Search=Body", "Text=user_id", "SaveCount=userId", LAST); |
●Search : 搜索字符串的搜索范围,如ALL、Body、Header
●Text : 搜索的字符串
●SaveCount : 匹配的数量,并存储在一个参数中
2.4 动态数据信息保存到一个参数
//获取用户登录后响应数据user_token,并传给user_token web_reg_save_param("user_token", "LB=\"user_token\":\"", "RB=\"", "Ord=1", "Notfound=empty", "Search=Body", LAST); |
●LB 参数的左边界
●RB 参数的右边界
●Ord 匹配的序号位置,默认为1
●Notfound 当没有找到边界时的处理选项,选项有:Notfound=error -
●Notfound=empty
●Search : 搜索字符串的搜索范围,如ALL、Body、Header
例:(如下json)
{"mobile":"18900001234","password":"123456"}
匹配手机号,那么它的左边界为:\"mobile\":\",右边界为:\",\"password
备注: 引号需要用斜杠进行转义