【接口测试】接口概念及Json相关
一、接口相关概念
1.什么是接口?
接口:接口就是系统A程序中留的其他系统B访问系统A的接口(实际上是系统某个代码文件下某一个可访问的方法。)。其他系统B可以调用这个方法a对系统A中的方法a进行访问从而达到访问系统A中方法a中内容的目的。
2.接口访问方式。
一般通过接口连接进行访问。
3.接口连接的组成:系统A的访问网址(http://cloud.pingnanlearning.com/)+访问方法中定义的访问路径(或者说方法名)(/a/b/c/d),+方法中需要传递的参数(e,f,g),用/隔开(一个接口访问链接的举例:http://cloud.pingnanlearning.com//a/b/c/d/参数e对应传值/参数f对应传值/参数g对应传值)
4.在浏览器中输入接口链接,浏览器中会显示出来浏览器解析出来的json流,我们可以通过bejson网站转化json语言成段落清晰的语言,其实就是回车换行成更直观好看的段落。——解析成的段落其实就是通过方法a查询出来的数据库中的结果哦~
————————————————————————————————————————————————————————————————————
二、接口(Loadrunner相关)
原来接口性能测试可以这么做。其实录制业务产生的脚本也可以简单的而理解为是由多个接口拼接再一起组成的,所以像参数化等技术都可以在接口测试中使用。
1 long file; 2 char *vusernum; 3 char t_result(1024); 4 vuser_init() 5 { 6 //获取编号 7 vusernum=lr_eval_string("_{vuserid}"); 8 //获取系统时间 9 lr_save_datetime("%Y%m%d%H%M%S",DATE_NOW,"now_date"); 10 //拼接测试结果文件名称 11 strcpy(t_result,"d://result/test"); 12 strcat(t_result,lr_eval_string("_{now_date}"); 13 strcat(t_result,vusernum); 14 strcat(t_result,".html"); 15 //生成并打开测试结果文件 16 file=fopen(t_result,"at+"); 17 //写入测试文件头部html信息 18 strcpy(t_result,"<html><table border='1'><tr>< td>描述</td><td>预期结果</td><td>实际结果</td><td>Y/N</td></tr>"); 19 fputs(V_Result,file); 20 return 0; 21 }
1 Action() 2 { 3 char is_pass(1024); 4 int result; 5 char *para=lr_eval_string("{参数名}"); 6 web_set_max_html_param_len("20000"); 7 //取得服务器返回内容 8 web_reg_save_param("filecontent", 9 "LB=", 10 "RB=", 11 "Search=Body", 12 LAST); 13 //发送请求 14 web_submit_data("login", 15 "Action=URL地址", 16 "Method=POST", 17 "RecContentType=text/html", 18 "Referer=", 19 "Snapshot=t9.inf", 20 "Mode=HTTP", 21 ITEMDATA, 22 "Name=参数名","Value=参数值",ENDITEM, 23 LAST); 24 //比较预结果和实际结果 25 result=strcmp(lr_eval_string("{预期结果}"), 26 lr_eval_string("{filecontent}")); 27 if(result==0) 28 { 29 strcpy(is_pass,"通过"); 30 } 31 else 32 { 33 strcpy(is_pass,"失败"); 34 } 35 //写入测试参数 36 strcpy(t_result,"<tr><td>"); 37 strcat(t_result,para); 38 strcat(t_result,"</td>"); 39 //写入预期结果 40 strcat(t_result,"<td id='yq'>"); 41 strcat(t_result,lr_eval_string("{filecontent}")); 42 strcat(t_resutl,"</td>"); 43 //写入实际结果 44 strcat(t_result,"<td id='sj'>"); 45 strcat(t_result,lr_eval_string("{filecontent}")); 46 strcat(t_resutl,"</td>"); 47 //写入是否通过 48 strcat(t_result,"<td>"); 49 strcat(t_result,is_pass); 50 strcat(t_result,"</td></tr>"); 51 fputs(t_result,file); 52 53 return 0; 54 }
1 vuser_end() 2 { 3 //结束 4 strcpy(t_result,"</table></html>"); 5 fputs(t_result,file); 6 //关闭文件 7 fclose(file); 8 return 0; 9 }