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)的更多相关文章

  1. LR脚本示例之常用函数

    1.变量和参数的设置 //将IP地址和端口放入到参数中lr_save_string("127.0.0.1:1080","ip"); //退出脚本建议使用lr_e ...

  2. LR脚本示例之参数_变量介绍

    Action(){ char *url = "127.0.0.1:1080"; char arr_url[1024]; //将url变量的值复制给p_url1参数 lr_save_ ...

  3. 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义http请求

    初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因一是LR本身存在对测试环境的兼容性问题导致录制失败,更深层次的原因是录制者不清楚LR录制脚本的原理,或 ...

  4. 易捷支付完整业务流程的lr脚本编写

    业务流程:1.注册2.登录3.重置支付密码4.下订单5.支付订单6.查看订单列表 通用md5.h代码如下: #ifndef MD5_H #define MD5_H #ifdef __alpha typ ...

  5. 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义

    原文  http://www.cnblogs.com/Bonnie83/p/3525200.html 初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因 ...

  6. LR脚本录制方式说明

    1.LR脚本录制方式说明1)HTML-based script基于HTML的脚本从内存中读取并下载资源,较少的关联处理,可以加入图片检查,回放时需要解析返回的信息a-基于用户行为的方式 web_lin ...

  7. 自动生成LR脚本且运行

    背景:作为一个测试,特别是性能测试,尤其在活动的测试,时间紧,有很多要测的,我们的LR11因为浏览器兼容问题全录制不了脚本了,用浏览器加代理或手机加代理录制,我感觉好麻烦 ,所以就想如果能用脚本把所有 ...

  8. SpringMVC学习系列(3) 之 URL请求到Action的映射规则

    在系列(2)中我们展示了一个简单的get请求,并返回了一个简单的helloworld页面.本篇我们来学习如何来配置一个action的url映射规则. 在系列(2)中我们在HelloWorldContr ...

  9. 转发URL请求

    如何用Netty实现一个轻量级的HTTP代理服务器 - Newland - 博客园 https://www.cnblogs.com/jietang/p/8926325.html 现在迫切希望有一个HT ...

随机推荐

  1. JavaScript高级程序设计学习笔记第四章--变量、作用域和内存问题

    1.变量可能包含两种不同数据类型的值:基本类型值和引用类型值. 基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象. 2.变量复制 如果从一个变量向另一个变量复制基本类型的值,会在 ...

  2. Python模块学习——optparse

    Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功能强大 ...

  3. DL杂谈

    好久不写了,几点这次项目经验吧,本次训练位多任务训练,主要目的训练人脸角度,具体公司项目不细谈. 讲一下主要碰到的坑: 1 最主要问题,网络结构不对称,导致主任务与辅助任务之间的梯度关系不平衡从而导致 ...

  4. CF-828B

    B. Black Square time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  5. [Makefile] 递归编译的Makefile的实现

    转自:http://www.linuxidc.com/Linux/2017-01/139702.htm 最近写了一个递归Makefile,目的是既可以实现子模块的单独编译,也可以不做任何修改就和整个程 ...

  6. ZOJ - 4104 Sequence in the Pocket(思维+元素移至列首排序)

    Sequence in the Pocket Time Limit: 1 Second      Memory Limit: 65536 KB DreamGrid has just found an ...

  7. Beetl使用注意事项

    1.如果表达式跟定界符或者占位符有冲突,可以在用 “\” 符号 @for(user in users){ email is ${user.name}\@163.com @} ${[1,2,3]} // ...

  8. day02-HTML(2)

    一.新知识 1.  !+tab   html5的标签结构   2.  Charset   编码 Ascll Ansi Unicode Gbk Gb2312 Big5 Utf-8   通用字符集 3.关 ...

  9. 数据库路由中间件MyCat - 源代码篇(13)

    此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 4.配置模块 4.2 schema.xml 接上一篇,接下来载入每个schema的配置(也就是每个MyCat ...

  10. C++ STL vector使用总结

    vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vect ...