C语言注释
单行注释
//
多行注释
/**/
手写脚本原因
1. 避免LR由于兼容性导致录制异常或失败;
2. 手写脚本无冗余代码,更有利于脚本的增强(插入事务、参数化)和维护
常用函数
1. web_url()
发起get请求
2. web_submit_data()
GET/POST请求
3. web_custom_request()
get/post/put/delete请求
接口测试时使用
Action()
{
// 打开的登录页面
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
// 注册按钮进行注册
web_url("点击注册按钮",
"URL=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/home.html",
"Snapshot=t2.inf",
"Mode=HTML",
LAST);
// 提交注册用户信息
web_submit_data("login.pl",
"Action=http://127.0.0.1:1080/WebTours/login.pl",
"Method=POST",
"TargetFrame=info",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=username", "Value={user_name}", ENDITEM,
"Name=password", "Value={password}", ENDITEM,
"Name=passwordConfirm", "Value={password}", ENDITEM,
"Name=firstName", "Value=w", ENDITEM,
"Name=lastName", "Value=e", ENDITEM,
"Name=address1", "Value=", ENDITEM,
"Name=address2", "Value=", ENDITEM,
"Name=register.x", "Value=30", ENDITEM,
"Name=register.y", "Value=15", ENDITEM,
LAST);
return 0;
}
参数化
为什么学习参数化
1. 减少重复代码
2. 数据代码进行分离,方便维护
参数化操作
设置参数化
1. Replace with Parameter
2.参数化列表(Ctrl + L)
设置参数
lr_save_string
读取参数
lr_eval_string
获取参数名称对应的数据并以字符串形式返回
4. 参数化 Select next row 三种方式及作用
1. Sequential:顺序,按照行的顺序读取数据,如果迭代次数大于行数,再次从第一行开始读取
2. Random:随机,随机读取行
3. Unique:唯一,每次读取唯一行,不重复;
When out of values
1) Abort Vuser:中止虚拟用户
报错
2) Continue in a cyclic manner:以循环的方式继续
不报错
3) Continue with last value:继续使用最后一个值
报错
4. Same line as xxx 取参数同行(需要两个以上参数,才能显示和使用)
5. 参数化 Update value on 三种方式及作用
1. Each iteration:每次迭代以后更新
2. Each occurrence:每次出现参数时更新
3. Once:每出现一个虚拟用户(线程)更新一次
6. 如果保持批量数据时的唯一性?
时间戳
时间戳函数
web_save_timestamp_param()
参数类型
Date/Time类型
随机数
RandomNumber
#函数总结
设置参数 lr_save_string
读取参数 lr_eval_string
时间戳函数 web_save_timestamp_param()