LR在录制一个网站注册业务的脚本时,突然间遇到一个问题:注册时,由于注册用户需要验证唯一性,所以在LR回放脚本时,用Run-time Viewer工具回放可以发现(先在脚本中设置几个断点),真实运行的注册脚本用户并没有注册成功,如图:
出现这样的问题,如何解决呢?
当然,首先就想到了脚本参数化设置,于是我动手写了一段代码,运行脚本让它随机生成用户名(用户名指定格式),然后写入一个dat文件,在参数设置中导入dat文件,这样就非常方便地进行参数化,代码如下:
/*author:luihengk*/ int i,j,k; char c[250] ; char *filename = "C:\\scripts\\test.dat"; long file; if((file=fopen(filename,"a+"))==NULL){ lr_output_message("uncreate a file%s",filename); return -1; } web_set_max_html_param_len("1024000"); for(i=0;i<=10;i++){ k = rand()*10; sprintf(c,"%d",k);//int 转换为 char strcat(c,"test@qq.com");//将test@qq.com为后缀追加给c fprintf(file,"%s\n",c); } fclose(file);
导入Parameter List:
注意:Select next row 设置为Unique,Update value on设置为 Each iteration,这里必须保持参数化列表有一定的数据,我这里设置了100条记录
脚本中设置参数化:
以上设置完成后,再次回放脚本,就不会出现注册失败,尽管在Replay Log 中没有出现报错,用Run-time Viewer进行确认。