LR脚本示例之URL请求(post、get)
Action()
{
//application/x-www-form-urlencoded
//application/json
//web_add_auto_header("Content-Type","application/x-www-form-urlencoded");设置请求头信息
//1、停顿2秒
lr_think_time(2);
//2、设置检查点
web_reg_find("SaveCount=count",
"Text=\"error_code\":0",
LAST);
//3、开始get请求
lr_start_transaction("get请求");
//4、提交get请求
web_url("get请求",
"URL=http://v.juhe.cn/laohuangli/d?date=2016-11-18&key=e711bc6362b3179f5a28de7fd3ee4ace",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t7.inf",
"Mode=HTML",
LAST);
//5、判断事物是否成功
if(atoi(lr_eval_string("{count}")) > 0)
{
//结束get请求
lr_end_transaction("get请求", LR_PASS);
lr_output_message("get请求=%s", lr_eval_string("{count}"));
lr_output_message("get请求成功");
}
else
{
//结束get请求
lr_end_transaction("get请求", LR_FAIL);
lr_output_message("get请求失败");
}
//1、停顿2秒
lr_think_time(2);
//2、获取检查post请求的关联
web_reg_save_param("errorCode",
"LB=\"error_code\":",
"RB=\}",
LAST);
//3、设置html支持的字符长度为1024
web_set_max_html_param_len("1024");
//4、开始post请求
lr_start_transaction("post请求");
//5、提交post请求
web_submit_data("post请求",
"Action=http://v.juhe.cn/laohuangli/d",
"Method=POST",
"TargetFrame=",
"RecContentType=application/json",
"Referer=",
"Snapshot=t12.inf",
"Mode=HTML",
ITEMDATA,
"Name=date", "Value=2016-11-18", ENDITEM,
"Name=key", "Value=e711bc6362b3179f5a28de7fd3ee4ace", ENDITEM,
"Name=uri", "Value=", ENDITEM,
LAST);
//6、判断post请求事物是否成功
if(atoi(lr_eval_string("{errorCode}"))==0)
{
//结束post请求
lr_end_transaction("post请求", LR_PASS);
lr_output_message("post请求成功=%s", lr_eval_string("{errorCode}"));
lr_output_message("post请求成功");
}
else
{
//结束post请求
lr_end_transaction("post请求", LR_FAIL);
lr_output_message("post请求失败");
}
return 0;
}
LR脚本示例之URL请求(post、get)的更多相关文章
- LR脚本示例之常用函数
1.变量和参数的设置 //将IP地址和端口放入到参数中lr_save_string("127.0.0.1:1080","ip"); //退出脚本建议使用lr_e ...
- LR脚本示例之参数_变量介绍
Action(){ char *url = "127.0.0.1:1080"; char arr_url[1024]; //将url变量的值复制给p_url1参数 lr_save_ ...
- 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义http请求
初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因一是LR本身存在对测试环境的兼容性问题导致录制失败,更深层次的原因是录制者不清楚LR录制脚本的原理,或 ...
- 易捷支付完整业务流程的lr脚本编写
业务流程:1.注册2.登录3.重置支付密码4.下订单5.支付订单6.查看订单列表 通用md5.h代码如下: #ifndef MD5_H #define MD5_H #ifdef __alpha typ ...
- 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义
原文 http://www.cnblogs.com/Bonnie83/p/3525200.html 初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因 ...
- LR脚本录制方式说明
1.LR脚本录制方式说明1)HTML-based script基于HTML的脚本从内存中读取并下载资源,较少的关联处理,可以加入图片检查,回放时需要解析返回的信息a-基于用户行为的方式 web_lin ...
- 自动生成LR脚本且运行
背景:作为一个测试,特别是性能测试,尤其在活动的测试,时间紧,有很多要测的,我们的LR11因为浏览器兼容问题全录制不了脚本了,用浏览器加代理或手机加代理录制,我感觉好麻烦 ,所以就想如果能用脚本把所有 ...
- SpringMVC学习系列(3) 之 URL请求到Action的映射规则
在系列(2)中我们展示了一个简单的get请求,并返回了一个简单的helloworld页面.本篇我们来学习如何来配置一个action的url映射规则. 在系列(2)中我们在HelloWorldContr ...
- 转发URL请求
如何用Netty实现一个轻量级的HTTP代理服务器 - Newland - 博客园 https://www.cnblogs.com/jietang/p/8926325.html 现在迫切希望有一个HT ...
随机推荐
- redis和memcache的比较
1.数据类型支持不同 与Memcached仅支持key-value结构不同,Redis支持的数据类型更丰富,同时支持list.set.hash等数据结构的存储: 2.内存管理不同 在Redis中,并不 ...
- java类加载器(转)
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一.它使得 Java 类可以被动态加载到 Java 虚拟机中并执行.类加载器从 JDK 1.0 就出现了,最初是为了满足 Ja ...
- iView之DatePicker的datetimerange校验
使用DatePicker的type是datetimerange时,处理开始--结束的持续时间校验如下.遇到的问题:时间弹出校验提示,但是程序还是会继续往下走,所以调完校验后,再做判断开始时间是否为tr ...
- 细说 CSS margin
作者:https://coding.net/u/zhengkenghong原文:https://blog.coding.net/blog/css-margin 细说 CSS margin 本文着重描述 ...
- HDU 1512 Monkey King (左偏树+并查集)
题意:在一个森林里住着N(N<=10000)只猴子.在一开始,他们是互不认识的.但是随着时间的推移,猴子们少不了争斗,但那只会发生在互不认识 (认识具有传递性)的两只猴子之间.争斗时,两只猴子都 ...
- Vue+Electron下Vuex的Dispatch没有效果的解决方案
这个问题是解决基于 vue 和 electron 的开发中使用 vuex 的 dispatch 无效的问题,即解决了 Please, don't use direct commit's, use di ...
- laravel ajax提交登陆存储session,并输出
前端输出session {{ Session::get('username') }} ajax提交 <div>{{ Session::get('username') }}</div& ...
- 剑指Offer的学习笔记(C#篇)-- 二叉树的深度(详讲递归)
题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 一 . 思维发散 借助这个题目,我想用一个更好理解的方法说一说递归. ...
- Python面向对象之单例模式
单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某 一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就 能派上用场. 单例 ...
- ES6新特性使用小结(六)
十三.promise 异步编程 ①.使用 promise 模拟异步操作 { //ES5 中的 callback 解决 异步操作问题 let ajax = function (callback) { c ...