1、将服务器返回的全部信息记录到result_content变量中:
web_reg_save_param("result_content","LB=","RB=",LAST); //不设置左右边界,默认在ALL中查找,且查到个数应该是只有一个。 |
2、获取时间戳(从1970年1月1号00:00:00 000到当前时间的毫秒数,13位数字,C语言中长整型也放不下,因此要处理的时候要注意):
web_save_timestamp_param("tStamp", LAST); //获取时间戳,并存到tStamp这个参数中备用 lr_output_message(lr_eval_string("{tStamp}"));//打印出来的结果示例:1470990241729 |
3、C语言(这里还是在LoadRunner中处理的)中对13位时间戳的计算处理(通过截取的方式来做的):
char str_10[10];//用来记录时间戳的前10位,即精确到秒 char time_expected_arrival_end_s[14];//用来记录运算后的时间戳字符串 long time_expected_arrival_end_10;//用来计算time_expected_arrival_end_10=时间戳+3600,精确到秒 web_save_timestamp_param("tStamp", LAST);//获取时间戳,并存到tStamp这个参数中备用 sscanf(lr_eval_string("{tStamp}"), "%10s", str_10);//截取时间戳前10位记录到str_10中, time_expected_arrival_end_10 = atol(str_10)+3600; sprintf(time_expected_arrival_end_s, "%d", time_expected_arrival_end_10);//将运算后的结果转化为字符串 lr_save_string(time_expected_arrival_end_s,"time_expected_arrival_end");//将运算后的结果字符串变量转为参数,变量在LoadRunner中, 尤其是像web_custome_request函数的BODY中不能直接用,因此转为参数来用。 |
sscanf函数请查看百度百科说明:https://baike.baidu.com/item/sscanf?fr=aladdin
4、转换编码格式,影响中文的输出:
//将参数result_content获取到并进行转码,由UTF-8转换为当前系统的编码格式,并记录结果到参数ResultMessage中。 lr_convert_string_encoding(lr_eval_string("{result_content}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,"ResultMessage"); //将变量A进行转码,由当前系统的编码格式转换为UTF-8,并记录结果到参数ResultMessage中。 char A[1024];//定义字符数组A,用来存放备用的字符串 strcpy(A,"callbackhttp://192.168.1.52:8098/channel!");//将字符串放到A中备用 lr_convert_string_encoding(A,LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"ResultMessage"); |