自动化测试脚本设计总体流程如下图:

需要取得的输入应预先制作了CSV文件,关在脚本参数配置中定义变量。
自动化测试程序关键代码
1、生成结果文件(html格式),文件名称为 test _系统时间(%Y%m%d%H%M%S)_虚拟用户编号,并写入测试结果文件的html开始标识
自动化测试程序关键代码
1、生成结果文件(html格式),文件名称为 test _系统时间(%Y%m%d%H%M%S)_虚拟用户编号,并写入测试结果文件的html开始标识
- //定义结果文件变量
- long file;
- //定义文件名种子(虚拟用户编号)变量
- char *vusernum;
- //定义测试结果变量
- char V_Result[1024];
- vuser_init()
- {
- //取得文件名种子(虚拟用户编号)
- vusernum=lr_eval_string ("_{vuserid}");
- //取得文件种子(系统时间)
- lr_save_datetime("%Y%m%d%H%M%S", DATE_NOW, "now_date");
- //拼结测试结果文件名称
- strcpy(V_Result,"d://test/Result/test");
- strcat(V_Result,lr_eval_string("_{now_date}"));
- strcat(V_Result,vusernum);
- strcat(V_Result,".html");
- //生成并打开测试结果文件
- file=fopen(V_Result,"at+");
- //写入测试文件头部html信息
- strcpy(V_Result,"<html><table border='1'><tr><td>IMSI号码</td><td>预期值</td><td>返回值</td><td>结果</td></tr>");
- fputs(V_Result,file);
- return 0;
- }
- Action()
- {
- //测试结果文本
- char V_testres[1024];
- //定义返回结果是否正确变量
- int result;
- //取得IMSI号码
- char *V_imsi=lr_eval_string ("{IMSI}");
- //设置页面接收最大的字节数,该设置应大于服务器返回内容的大小
- web_set_max_html_param_len("20000");
- //取得服务器返回内容
- web_reg_save_param("filecontent",
- "LB=",
- "RB=",
- "Search=Body",
- LAST);
- //发送请求
- web_submit_data("login",
- "Action=http://host:port/autonavit/search?cmd=clientlogin&termver=5&termcode=30001&termdbver=3 ",
- "Method=POST",
- "RecContentType=text/html",
- "Referer=",
- "Snapshot=t9.inf",
- "Mode=HTTP",
- ITEMDATA,
- "Name=imsi", "Value={IMSI}", ENDITEM,
- LAST);
- //比较预期值和实际值是否相等
- result=strcmp(lr_eval_string("{YQJG}"),lr_eval_string("{filecontent}"));
- if ( result == 0 )
- {
- strcpy(V_testres,"通过");
- }
- else
- {
- strcpy(V_testres,"失败");
- }
- strcpy(V_Result,"<tr><td>");
- //写入测试参数
- strcat(V_Result,V_imsi);
- strcat(V_Result,"</td>");
- strcat(V_Result,"<td id='yq'>");
- //写入预期结果
- strcat(V_Result,lr_eval_string("{YQJG}"));
- strcat(V_Result,"</td>");
- strcat(V_Result,"<td id='sj'>");
- //写入实际结果
- strcat(V_Result,lr_eval_string("{filecontent}"));
- strcat(V_Result,"</td>");
- strcat(V_Result,"<td>");
- //写入测试是否通过
- strcat(V_Result, V_testres);
- strcat(V_Result,"</td></tr>");
- fputs(V_Result,file);
- return 0;
- }
- vuser_end()
- {
- //结束并关闭文件
- strcpy(V_Result,"</table></html>");
- fputs(V_Result,file);
- fclose(file);
- return 0;
- }