亲宝软件园·资讯

展开

loadrunner学习笔记一

超超超无敌 人气:0
这篇笔记主要是针对一个具体的loadrunner脚本里面出现的方法进行解释,具体脚本如下: ` Action() { char *transactionName = "Test"; char *response; char *request; int respLen = 0; web_reg_save_param("result", "LB=", "RB=", LAST); lr_convert_string_encoding("",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result"); web_add_header("Content-Type", "application/json"); web_add_header("Accept", "application/json"); lr_start_transaction(transactionName); web_custom_request("web_custom_request", "URL=http://192.168.4.17:10010/employee/query_user_info", "Method=POST", "TargetFrame=", "Resource=0", "Referer=", "Mode=HTTP", "Body={\"countSql\":false,\"pageNum\":0,\"pageSize\":0,\"userName\":\"\"}", LAST); if (strstr(lr_eval_string("{result}"), "000000") != NULL) { lr_end_transaction(transactionName, LR_PASS); } else { lr_end_transaction(transactionName, LR_FAIL); lr_log_message(lr_eval_string("{result}")); } lr_log_message(lr_eval_string("{result}")); return 0; } ` 下面针对上面脚本中出现的函数进行解释: **1. web_reg_save_param:** * 作用:从响应结果里面获取指定的内容; * 用法:web_reg_save_param("outFlightVal", "LB=", "RB=", LAST ); * 参数说明: a:LB表示左边界,RB表示右边界; b:这个是预注册函数,顾名思义。如果你要查找指定的字符内容,那么请放在你的请求之前。因为他是从http请求的响应结果里面去查找内容; c:请自行补充什么是HTTP请求 以及HTTP响应,有助于自己理解第2点内容; d:什么是左右边界,我们通过如下代码来进行演示: 比如说我们要获取‘nnMfhFk2-jzizMjXGdiGWSZu8j2sDj5TmDSw’这段内容, 左边界是:meta content=" 右边界是:“name= e:左右边界一定要是唯一的,这样才能帮我们唯一的找到这个值,否则返回的就是数组类型。 **2. lr_convert_string_encoding:** * 作用:字符串编码转换; * 用法:lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName); * 该函数有4个参数,含义如下: sourceString:被转换的源字符串 fromEncoding:转换前的字符编码 toEncoding:要转换成为的字符编码 paramName:转换后的目标字符串 常量和值的对应关系如下: | Constant | Value | | ---- | ---- | ---- | | LR_ENC_SYSTEM_LOCALE | NULL | | | LR_ENC_UTF8| NULL | "utf-8" | | LR_ENC_UNICODE | "ucs-2" | | **3. web_add_header:** 作用:用于添加指定的报文头到下一次HTTP请求; * 用法:web_add_header( const char *Header, const char *Content ),如:web_add_header("name", "xx")。 **4. lr_start_transaction与lr_end_transaction:** * 作用:为使用最多的事物创造组合函数,lr_start_transaction为事物开始函数,lr_end_transaction为事物结束函数,并负责记录事物的运行时间; * 用法: int lr_start_transaction (const char * transaction_name); int lr_end_transaction (const char * transaction_name,int status); * 说明:transacton为事物名称,status为事物的结束状态,共有LR_PASS(通过)、LR_FAIL(失败)、LR_AUTO(自动)、 LR_STOP(暂停),其中LR_PASS默认的是LR_PASS,可以在事物结束前通过 lr_set_transaction_status进行修 改。如果在lr_end_transaction中没有指定结束事物状态是LR_AUTO,而是明确制定为LR_PASS、LR_FAIL、 LR_STOP其中的其中,则事物将以最后制定状态来结束。需 要注意,事物开始没有lr_end_transaction没有结束的时候,不能用相同的事 物名称,除非这个事物已经通过lr_end_transaction结束。 **5. web_custom_request:** * 详细说明查看这个说明:[https://www.cnblogs.com/yezhaohui/p/3280239.html](web_custom_request函数详解) * 语法:web_custom_request (const char *RequestName,

加载全部内容

相关教程
猜你喜欢
用户评论