LR接口测试---基于http协议之get/post
get请求代码:
//=====================get interface========================
以http状态码方式:
//获取返回的HTTP状态码判断请求是否成功
int HttpRetCode; web_url("请求百度首页", "URL=http://app.zhongniang.com/first.htm?json", "TargetFrame=_TOP", LAST ); HttpRetCode = web_get_int_property(HTTP_INFO_RETURN_CODE); if (HttpRetCode == ){
lr_log_message("=====================The script successfully======================="); }else{ lr_log_message("=====================The script failed===================="); }
以检查点的方式:
//检查点函数
web_reg_find("Search=All",
"SaveCount=wenben",
"Text=result\":",
LAST); //事务开始
lr_start_transaction("get");
//get请求
web_url("GetMethod_getSkuInfo.action",
"URL=http://127.0.0.1:8080/PerfTeach/GetMethod_getSkuInfo.action?skuid={number}&opt=lee",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
EXTRARES,
"Url=../favicon.ico", "Referer=", ENDITEM,
LAST);
//事务判断
if( atoi(lr_eval_string("{wenben}"))>0 ){ //提取出检查点转换成整形,如果大于0即为存在事务成功,否则失败 lr_end_transaction("get", LR_PASS); }else { lr_end_transaction("get", LR_FAIL); }
以关联的方式:
web_reg_save_param("wenben", //关联函数
"LB=result\":",
"RB=}",
"Ord=all",
LAST);
//事务开始
lr_start_transaction("get");
//get请求
web_url("GetMethod_getSkuInfo.action",
"URL=http://127.0.0.1:8080/PerfTeach/GetMethod_getSkuInfo.action?skuid={number}&opt=lee",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
EXTRARES,
"Url=../favicon.ico", "Referer=", ENDITEM,
LAST);
//事务判断
if(strcmp(lr_eval_string("{wenben}"),"true") ){ //提取出关联的内容与“true”相比较
lr_end_transaction("get", LR_PASS);
}else {
lr_end_transaction("get", LR_FAIL);
}
*/
//======================================================
post请求代码:
Action()
{
//关联
web_reg_save_param("resultq",
"LB=msg\":\"",
"RB=\"",
"Ord=1",
LAST); //事务开始
lr_start_transaction("post"); //自定义请求。这个函数web_custom_request可以自定义任何类型的请求
web_custom_request("post", "Method=POST", "URL=http://127.0.0.1:8080/PerfTeach/PostMethod_reg.action", "Body=data={\"username\":\"jack\",\"password\":\"123\",\"email\":\"ljt@qq.com\",\"phone\":110}",//post body需要 逗号 分割 "TargetFrame=", LAST );
//转码前打印
lr_output_message("==========转码前===========%s",lr_eval_string("{resultq}")); //转码及打印结果
lr_convert_string_encoding(lr_eval_string("{resultq}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"aftermsg");//从什么编码要转为什么编码,前为原来的编码,后为要转化成为什么编码
lr_output_message("==========转码后===========%s",lr_eval_string("{aftermsg}")); //把转码后的结果赋值给 zuihoujieguo
lr_save_string(lr_eval_string("{aftermsg}"),"zuihoujieguo"); //lr_output_message("==========%s",lr_eval_string("{zuihoujieguo}")); //字符串比较
//lr_output_message("%d",strcmp(lr_eval_string("{zuihoujieguo}"),"注册成功1"));
if (strcmp(lr_eval_string("{zuihoujieguo}"),"注册成功") == ) //strcmp=0即为两数相同
{ lr_end_transaction("post", LR_PASS);
}else{ lr_end_transaction("post", LR_FAIL); } return ;
}
LR接口测试---基于http协议之get/post的更多相关文章
- LoadRunner系列之—-02 基于webservice协议的接口测试(脚本实例)
Loadrunner 基于webservice协议的接口压力测试(脚本实例) 接口功能如下:请求接口,报文只有一个参数为证件号码:返回报文中,有证件号码是否能查到对应数据,查到几条数据. 思路:请求w ...
- 性能测试总结工作总结-基于WebService协议脚本 内置函数手动编写
LoadRunner基于WebService协议脚本 WebService协议脚本有三种生成方式,一种是直接通过LoadRunner导入URL自动解析生成:一种是使用LoadRunner内置函数手动编 ...
- python测试基于websocket协议的即时通讯接口
随着html5的广泛应用,基于websocket协议的即时通讯有了越来越多的使用场景,本文使用python中的websocket-client模块来做相关的接口测试 import webclient ...
- Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试 by:授客 QQ:1033553122 目的 实现基于http协议的流媒体在线视频播放,服务器性能测试脚本,模拟用户浏览器方式在线播放 ...
- LoadRunner系列之—-04 录制基于https协议的脚本
实际性能测试过程中,有些需录制脚本的页面或接口是基于https协议的,按原来方法录制脚本,录完了脚本是空的.为解决这个问题,第一步了解https协议的具体实现,这块网上资料很多,可参考页面下方参考资料 ...
- 集成基于OAuth协议的单点登陆
在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例 ...
- 集成基于CAS协议的单点登陆
相信大家对单点登陆(SSO,Single Sign On)这个名词并不感到陌生吧?简单地说,单点登陆允许多个应用使用同一个登陆服务.一旦一个用户登陆了一个支持单点登陆的应用,那么在进入其它使用同一单点 ...
- 基于Z-WAVE 协议的LED智能照明系统的研究笔记
LED调光基础: ☆:LED照明调光控制信号的方式有两种: 1. 通过PWM信号控制LED灯具开关电源的占空比从而实现调光: 2. 通过调光控制信号和交流电源供电线合用的两线式或三线式(例如LED相控 ...
- 基于UDP协议模拟的一个TCP协议传输系统
TCP协议以可靠性出名,这其中包括三次握手建立连接,流控制和拥塞控制等技术.详细介绍如下: 1. TCP协议将需要发送的数据分割成数据块.数据块大小是通过MSS(maximum segment siz ...
随机推荐
- ubuntu12.04+cuda6.0+opencv2.4.9
更新了cuda之后,opencv的gpu模块又要重新编译了,这个地方有一个疑问,我对cuda6.0装了两次,第一次装好之后,没有配一个bumblebee,重装了cuda6.0之后,发现原来编译的ope ...
- pkill有的时候并不能杀死进程?
pkill的用法:http://man.linuxde.net/pkill 根据进程命令行,杀死进程 如下intellij.go代码为一个代理服务器,把本地请求转向一个代理 package main ...
- TCP_NODELAY和TCP_CORK nagle算法和cork算法
TCP_NODELAY 默认情况下,发送数据採用Nagle 算法.这样尽管提高了网络吞吐量,可是实时性却减少了,在一些交互性非常强的应用程序来说是不同意的.使用TCP_NODELAY选项能够禁止Nag ...
- Tomcat启动一半闪退问题解决
近期刚刚接触Tomcat.对其还不是非常了解. 在这几天,遇到一个Tomcat启动闪退的问题.通过查阅各种资料.算是完美解决.在此分享给朋友们. 首先.确定你的问题在哪里.有两个方法,你能够通过日志去 ...
- Linux Centos7 Apache 訪问 You don't have permission to access / on this server.
折腾了非常久,今天才找到了最正确的答案.感言真不easy. 百度出来的99%都是採集的内容.全都是错误的. You don't have permission to access / on this ...
- 六:二叉树中第k层节点个数与二叉树叶子节点个数
二叉树中第k层节点个数 递归解法: (1)假设二叉树为空或者k<1返回0 (2)假设二叉树不为空而且k==1.返回1 (3)假设二叉树不为空且k>1,返回左子树中k-1层的节点个数与右子树 ...
- Android一些网站介绍
1.开源镜像: Android SDK在线更新镜像服务器 中国科学院开源协会镜像站地址: IPV4/IPV6: http://mirrors.opencas.cn 端口:80 IPV4/IPV6: h ...
- 解决myeclipse在mac中Retina屏幕中模糊的终极详细方法
- linux 点命令
cat a date . a Mon Jun :: CST linux .(点命令):读取并且在当前的shell中执行文件中的命令
- kentico7中设置site的default page
在SiteManager中,Settings中,选择好站点,然后Content,Default alias path