使用LoadRunner打压时,有时候会用到用随机字符串来请求服务器。通常会有两个方法来实现:
1、 通过参数化,给出固定的参数化列表,请求是会选择参数化列表的值来请求。
2、 通过参数化随机数,将参数化选择成随机数字。
这两种方法都存在不足之处:
第一种方法存在的缺点是:只能选择固定的参数化列表取值,不能做到随机请求。
第二种方法存在的缺点是:只能随机生成数字。
那么如何构造请求完全随机的字符串呢?
通过自己写的随机字符串生成函数可以搞定这一点。
具体代码如下:
int itera_num,rand_num,i; charStrTable[]="abcdefghijklmnopqrstuvwxyz1234567890.?^&*%$#"; //定义需要生成字符串的随机容器 char i_data[24]=""; itera_num=rand()%6;//生成随机生成1~6长度的字符串 for(i=0;i<=itera_num;i++) { rand_num=rand()%44; //此处要和容器字符串长度一致,用来定义从容器中的字符串任意取一个。 strncat(i_data,StrTable+rand_num,1);//将循环每次取出来的字符串拼在一块。 } lr_save_string(i_data,"i_data_value");//将字符串保存到变量中,用于后续的打压参数。 |
跑一下,结果如下:
其他的随机字符串,比如手机号,机器码等等。只要对上面的函数做稍微改动,就可以实现啦。大家还不赶紧试试~