loadrunner通过web的post请求方法测接口

loginapi()
{
    web_url("rest", 
        "URL=http://192.168.117.154/router/rest", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t1.inf", 
        "Mode=HTML", 
        LAST);

web_url("favicon.ico", 
        "URL=http://192.168.117.154/favicon.ico", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t2.inf", 
        "Mode=HTML", 
        LAST);

lr_rendezvous("loginapi");

lr_start_transaction("loginapi");

lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_RESULT_DATA, LR_SWITCH_ON );

web_reg_find("Text=操作成功", 
        LAST);

web_submit_data("testpost", 
                   "Action=http://192.168.117.154/router/rest",
                   "Method=POST",
                   "RecContentType=text/html",
                   "Mode=HTML",
                   ITEMDATA, 
    "Name=method","Value=test.user.UserService.userInfoByTicket",ENDITEM,
    "Name=v","Value=1.0",ENDITEM,
    "Name=app_key","Value=120",ENDITEM,
    "Name=ticket","Value=1111111111111111111111111111111",ENDITEM, 
    "Name=sign","Value=22222222222222222222222222222222",ENDITEM,
    LAST);

lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_RESULT_DATA, LR_SWITCH_OFF);

lr_end_transaction("loginapi", LR_AUTO);

return 0;
}

模拟APP发送请求给Cloud,
一般都是用户登录后。cloud会返回登录成功的消息并且返回一个cookie给app,
app下次要做一些例如设置名称之类的工作,在请求消息里面会携带返回的cookie,而且cloud也会校验这个cookie  
1、第一次请求登录,获取cookie,
2、使用第一次请求获取的cookie进行第二次请求

Action()
{

web_reg_save_param("par1",
                         "LB=auth_key\":\"",
                         "RB=\"",
                         LAST);
web_reg_save_param("par3",
 "LB=Set-Cookie: ",
 "RB=;",
 "ORD=2",
 LAST);

web_reg_save_param("par4",
                         "LB=Set-Cookie: ",
                         "RB=;",
     "ORD=3",
                         LAST);

web_custom_request("login",
   "URL=http://192.168.1.102/api/user/login",
   "Method=POST",
   "Resource=0",
   "Referer=",
   "mode=HTTP",
   
   "[email protected]&password=8c2b2f9cd3431be8a7bf64a33e81b371",
   
                       LAST);

lr_message ("par1:%s", lr_eval_string("{par1}"));
lr_message ("par3:%s", lr_eval_string("{par3}"));
lr_message ("par4:%s", lr_eval_string("{par4}"));
    
    return 0;
}

Action2()
{

web_cleanup_cookies();

web_add_header("cookie",
   "{par3};{par4};{par1}");

web_custom_request("info",

"URL=http://192.168.1.102/api/app/set/device",
   "Method=POST",
   "Resource=0",
   "Referer=",
   "mode=HTTP",   
   "Body=camid=4026aabz&auth_key={par1}",
   LAST);
return 0;
}

时间: 2024-11-10 09:28:16

loadrunner通过web的post请求方法测接口的相关文章

iOS.访问 Web Service.同步GET请求方法

1.字符串转换为URL字符串NSString分类 #import <Foundation/Foundation.h> @interface NSString (URLEncoding) -(NSString *)URLEncodedString; -(NSString *)URLDecodedString; @end #import "T20140628013418NSString+URLEncoding.h" @implementation NSString (URLEn

iOS.访问 Web Service.异步GET请求方法

#import <UIKit/UIKit.h> #import "T20140628024750NSNumber+Message.h" #import "T20140628024750NSString+URLEncoding.h" @interface T20140628024750ViewController : UITableViewController<NSURLConnectionDelegate> @property (nonato

iOS.访问 Web Service.异步POST请求方法

#import <UIKit/UIKit.h> #import "T20140628024917NSNumber+Message.h" #import "T20140628024917NSString+URLEncoding.h" @interface T20140628024917ViewController : UITableViewController<NSURLConnectionDelegate> @property (nonato

ASP.NET Web API 记录请求响应数据到日志的一个方法

原文:http://blog.bossma.cn/dotnet/asp-net-web-api-log-request-response/ ASP.NET Web API 记录请求响应数据到日志的一个方法 REST风格的服务架构已经成为越来越多人的选择,之前我用过WCF来实现REST服务,WCF是一个很强大的框架,干这点小事有点太沉重的感觉.后来微软又推出了一个ASP.NET Web API,专门用来处理一些基本的Http服务,即灵活又简单,推荐大家都看看. 今天这篇文章是使用ASP.NET W

基于hi-nginx的web开发(python篇)——动态路由和请求方法

hi.py的提供的路由装饰器接受两个参数,第一个参数指定动态路由的正则模式,第二个参数指定同意的http请求方法列表. 比如: 1 @app.route(r"^/client/?$",['GET','POST']) 2 def client(req,res,param): 3 res.content('{}<br>{}<br>{}<br>{}<br>{}'.format(req.client(),req.method(),req.uri(

ubuntu下部署Django Web的两种方法

一.利用django自带服务器框架发布web 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了.必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了.这时screen就可以派上用场了. screen进入一个新建的screen,此时关闭shell窗口,screen为detached

HTTP请求方式中8种请求方法

HTTP请求的方法: HTTP/1.1协议中共定义了八种方法(有时也叫"动作"),来表明Request-URL指定的资源不同的操作方式 HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法. HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法 1.OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送'*'的请求来测试服务器的功能性 2.HEAD 向服务器索与GET

HTTP 协议的基本知识,包括请求流程、请求方法等

什么是http协议? HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本.其中最著名的就是RFC 2616.RFC 2616定义了今天普遍使用的一个版本--HTTP 1.1. 超文本传输协议是一种

HTTP请求响应报文&amp;&amp;相关状态码&amp;&amp;GET_POST请求方法 总结

HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行   请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET /data/info.html HTTP/1.1 方法字段就是HTTP使用的请求方法,比如常见的GET/POST 其中HTTP协议版本有两种:HTTP1.0/HTTP1.1 可以这样区别: HTTP1.0对于每个连接都的建立一次连接一次只能传送一个请求和响应,请求就会关闭,HTTP1.0没有Ho