LoadRunner 实现一个简单的接口测试
long file;
int i,count;
char tmp[4];
char URL[100];
char *filename = "C:\\Program Files (x86)\\HP\\LoadRunner\\scripts\\lude\\PL0-LR\\PL0-LR-11\\"; //文件路径
lr_save_string("http://api.:88/?app=","base_url");
//定义参数数组"idcard"
lr_save_string("362322199112290014","idcard_1");
lr_save_string("511527199105032033","idcard_2");
lr_save_string("352231197212010024","idcard_3");
lr_save_string("352231197902050031","idcard_4");
lr_save_string("352231197201280029","idcard_5");
lr_save_string("450203198605050730","idcard_6");
lr_save_string("440105196402201515","idcard_7");
lr_save_string("441521199311198572","idcard_8");
lr_save_string("441521200103160815","idcard_9");
lr_save_string("372523197202250841","idcard_10");
lr_save_string("10","idcard_count");
//打开文件
if((file = fopen(filename, "a+")) == NULL){
lr_output_message("uncreate a file %s",filename);
return -1;
}
count = lr_paramarr_len("idcard");
//遍历参数数组,进行每次身份证信息查询
for (i=1; i<=count;i++) {
// 设置检查点,判断返回信息是否成功
web_reg_find("Text=ALREADY_ATT",
"SaveCount=success",
"Search=All",
LAST);
web_reg_save_param("response",
"LB={",
"RB=}",
"Search=All",
"Ord=All",
"NOTFOUND=warning",
LAST);
// 关联获取"att"的值
web_reg_save_param("att",
"LB=\"att\":\"",
"RB=\",",
"Search=All",
"Ord=All",
LAST);
// 关联获取"sex"的值
web_reg_save_param("sex",
"LB=\"sex\":\"",
"RB=\",",
"Search=All",
"Ord=All",
LAST);
//构造请求URL,将idcard传入
sprintf(URL,"&idcard=%s&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json",lr_paramarr_idx("idcard",i));
//参数化URL
lr_save_string(URL,"tmp");
//发送请求
web_url("IDCARD_Request",
"URL={base_url}{tmp}",
"TargetFrame=Main",
"Resource=0",
"Mode=HTML",
LAST);
//如果请求返回成功,则进行如下操作
if(atoi(lr_eval_string("{success}"))){
//lr_output_message("-----------------返回成功-----------");
if(i == 1){
fprintf(file,"[\n\t{\n"); // [
}
//lr_output_message("%s",lr_eval_string("{att_1}"));
//将返回乱码中文转换编码方式,解决乱码问题
lr_convert_string_encoding(lr_paramarr_random("att"),"utf-8",NULL,"msg1");
//lr_output_message("%s",lr_eval_string("{msg1}"));
//lr_output_message("%s",lr_eval_string("{sex_1}"));
//将返回乱码中文转换编码方式,解决乱码问题
lr_convert_string_encoding(lr_paramarr_random("sex"),"utf-8",NULL,"msg2");
//lr_output_message("%s",lr_eval_string("{msg2}"));
if(i==count){//最后一条时执行,主要是添加],且最后的“}”不带","
fprintf(file, "\t\t\"idcard\":\"%s\",\n\t\t\"att\":\"%s\",\n\t\t\"sex\":\"%s\"\n",lr_paramarr_idx("idcard",i),lr_eval_string("{msg1}"),lr_eval_string("{msg2}"));//构造json格式并参数化赋值
fprintf(file,"\t}\n]\n");
}else{//否则执行这里
fprintf(file, "\t\t\"idcard\":\"%s\",\n\t\t\"att\":\"%s\",\n\t\t\"sex\":\"%s\"\n",lr_paramarr_idx("idcard",i),lr_eval_string("{msg1}"),lr_eval_string("{msg2}"));
fprintf(file,"\t},\n");
}
}
}
fclose(file);//关闭文件