//place this in global.h 
  
int HttpRetCode; 
int i=0; 
char depthVal[10]; 
char cTransactName[20000]; 
  
recursiveRedirect_open() 

    web_set_max_html_param_len("10000"); 
  
    web_reg_save_param("cRedirectUrl", 
                "LB=Location: ", 
                "RB=\r\n", 
                "notfound=warning", 
                "Search=Headers", 
                LAST); 
  
    web_reg_save_param("cTransactionName", 
                "LB=https://Domain.com/", 
                "RB=\r\n", 
                "Search=Headers", 
                "notfound=warning", 
                LAST); 
  
    web_reg_save_param("httpCode", 
                "LB=HTTP/1.1 ", 
                "RB= ", 
                "Search=Headers", 
                "ORD=1", 
                "notfound=warning", 
                LAST); 

  
recursiveRedirect_close() 

  
    HttpRetCode = atoi(lr_eval_string("{httpCode}")); 
    lr_output_message("xReturnCode=%d",  HttpRetCode); 
  
    if(HttpRetCode == 302)//If redirect 
    { 
        i++; 
        web_reg_save_param("cRedirectUrl", 
                "LB=Location: ", 
                "RB=\r\n", 
                "Search=Headers", 
                "notfound=warning", 
                LAST); 
  
        web_reg_save_param("cTransactionName", 
                "LB=https://https://Domain.com/", 
                "RB=\r\n", 
                "Search=Headers", 
                "notfound=warning", 
                LAST); 
  
        web_reg_save_param("httpCode", 
               "LB=HTTP/1.1 ", 
               "RB= ", 
               "ORD=1", 
               "notfound=warning", 
               LAST); 
  
sprintf(cTransactName, "Redirect_depth_%d_%s", i,lr_eval_string("{cTransactionName}")); 
lr_start_transaction(cTransactName); 
web_url(cTransactName, "URL={cRedirectUrl}", "Mode=HTTP", LAST); 
lr_end_transaction(cTransactName, LR_AUTO); 
HttpRetCode = web_get_int_property(HTTP_INFO_RETURN_CODE); 
recursiveRedirect_close(); 
  

else

    return; 
}
//In your action file
Place this in the beginning of the action file
 
web_set_option("MaxRedirectionDepth", "0", LAST ); //This is the key
 
recursiveRedirect_open();
web_url("url_which_gets_redirected","http://sampleredirect.com/",LAST);
recursiveRedirect_close();

深圳湖北籍软件测试群 275212937

loadrunner处理HTTP重定向请求的更多相关文章

  1. Java Servlet(九):转发请求与重定向请求区别

    转发: <% pageContext.setAttribute("pageContextAttr", "pageContextAttribute"); r ...

  2. Loadrunner模拟JSON接口请求进行测试

    Loadrunner模拟JSON接口请求进行测试     一.loadrunner脚本创建 1.Insert - New step -选择Custom Request -  web_custom_re ...

  3. LoadRunner之自定义HTTP请求

    LoadRunner之自定义HTTP请求 性能测试开发脚本时使用的都是同样的模式.对在性能测试规划时指定的典型业务逻辑场景进行录制,形成基本的脚本骨架. 录制脚本后需要对脚本进行编辑,以满足性能测试需 ...

  4. LoadRunner:关联HTTP请求

    LoadRunner:关联HTTP请求 本例通过一个使用HTTP/HTML协议发送.获取服务器数据的vuser脚本,分析LoadRunner如何进行HTTP关联. 下面这个例子包括两个事务:上传数据到 ...

  5. 细说Redirect重定向请求(情节分享)

         前些日子在开发公司项目接口的时候,由于需要与第三方平台对接,由于接口之前的层层封装,不断的需要转发,把人差点搞糊涂了.本来以为之前对Redirect的认识足够清楚,可是到实际开发之前我还是没 ...

  6. Spring 梳理-跨重定向请求传递数据-Flash

    Spring MVC Flash Attribute 的讲解与使用示例 1. Spring MVC 3.1版本加了一个很有用的特性,Flash属性,它能解决一个长久以来缺少解决的问题,一个POST/R ...

  7. 03 重定向,请求转发,cookie,session

    重定向: /* 之前的写法 response.setStatus(302); response.setHeader("Location", "login_success. ...

  8. springmvc重定向请求。

    SpringMVC重定向传参数的实现(来自网友) 验证了我说的,从model层中拿来的数据,不管什么类型,都是通过隐含模型,中转,放入request中的.除非你特意把这些数据放到session域中. ...

  9. 在LoadRunner中设置HTTP请求time-out的时间

    Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s) [MsgI ...

随机推荐

  1. 自定义tld标签,页面使用

    背景需求: 系统本身的session不能在页面使用 如下: controller: @RequestMapping(method=RequestMethod.GET) public String ge ...

  2. ajax传值方式为数组

    js: function responseJson1(){    var array=[1001,1002];    var str="";        //获取table对象  ...

  3. 【leetcode】Wildcard Matching(hard) ★ 大神太牛了

    Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...

  4. 利用jquery和flash实现复制文字功能(等同于ctrl+c)

    <script type="text/javascript" src="/js/jquery-1.10.2.min.js"></script& ...

  5. IOS-Uikit框架介绍

    •UIKit可识别三种类型的输入事件: –触摸事件 –运动(加速计)事件 –远程控制事件 IKit框架将触击信息封装为一个UIEvent对象,并派发给恰当的视图(有关UIKit如何将事件递送给您的视图 ...

  6. September 16th 2016 Week 38th Friday

    All the treasures of the earth would not bring back one lost moment. 机会失去不再来,千贯万贯难赎回. Cherish your h ...

  7. vs win32 & MFC 指针默认位置

    一开始win32指针所在的位置是与debug文件夹同级的.即打开打开改程序的第一个文件夹这一级. MFC指针是在第二个debug下头,就是打开第二个project名词的文件夹下头,e.g., &quo ...

  8. 比较原声socket 、GCDAsyncSocket

    原声socket NSInputStream 输入流(OC)NSOutputStream 输出流(OC)1:通过c语言的输入输出流CFReadStreamRef/CFWirteStreamRef(输入 ...

  9. LeetCode : 287. Find the Duplicate Number

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAACRAAAAMMCAYAAAAhQhmZAAAMFGlDQ1BJQ0MgUHJvZmlsZQAASImVlw ...

  10. 三、jQuery--jQuery基础--jQuery基础课程--第9章 jQuery 常用插件

    1.表单验证插件——validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:$(form).validate({option ...