loadrunner处理HTTP重定向请求
//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();
recursiveRedirect_close();
深圳湖北籍软件测试群 275212937
作者:Agoly 出处:https://www.cnblogs.com/qmfsun/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |