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 ...
随机推荐
- Spring 加载类路径外的资源文件
原文:http://blog.csdn.net/gaofuqi/article/details/46417259 <bean id="propertyConfigurer" ...
- [React] Prevent Unnecessary Rerenders of Compound Components using React Context
Due to the way that React Context Providers work, our current implementation re-renders all our comp ...
- Eclipse中的Web项目自己主动部署到Tomcat以及怎样在Eclipse中使用My Eclipseproject
我是一个新手学习Java,servlet和Jsp. 痛苦的是我时候一个.net程序猿,习惯了微软的VS IDE一切都是封装好的.傻瓜式的使用, 不须要关心内部实现. 悲催的是我看到资料都是My Ecl ...
- PHP开发出来的万年历
<?php /** * PHP万年历 */ class Calendar{ protected $_table;//table表格 protected $_currentDate;//当前日期 ...
- 修改windows下mysql的max_allowed_packet的值
执行sql报错:Error updating database. Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is to ...
- MySQL测试代码
MySQL测试代码 # 注释内容 -- 注释内容 -- 创建maizi数据库 CREATE DATABASE IF NOT EXISTS `maizi` DEFAULT CHARACTER SET ' ...
- linux 经常使用网络命令
1. ifconfig ifconfig主要是能手动启动.观察和改动网络接口的相关參数.能改动的參数许多,包含IP參数及MTU等都能改动,他的语法例如以下: [root@linux ~]# ifco ...
- IDEA 的使用(快捷键、括号对齐的方式)
Java IDE 工具不是只有一个 Eclipse,还有同样十分优秀的 IDEA. 0. 常用快捷键 查看与设置:[File]⇒ [Settings]⇒ [Keymap] back/forward:c ...
- CF 908 D New Year and Arbitrary Arrangement —— 期望DP
题目:http://codeforces.com/contest/908/problem/D 首先,设 f[i][j] 表示有 i 个 a,j 个 ab 组合的期望,A = pa / (pa + pb ...
- Nginx配置try_files实践二
本文内容承接<Nginx配置try_files实践一> 1. 环境: OS:Ubuntu 15.10 nginx:nginx/1.9.3 (Ubuntu) 假设有三台虚拟机db1(IP:1 ...