loadruuner 脚本开发
2015-12-31 10:05
309 查看
第四部分:LoadRunner工具之VuGen脚本开发和参数化:
参数化:Unique+Each iteration+Abort Vuser
第五部分:LoadRunner VuGen脚本开发之关键技术关联详解
//想知道循环有没有出错(定义一个变量记录循环次数)
Action:
插在Action前面 int iteration=1;
插在事务结束后面 lr_output_message("执行到第 %d 次循环,使用的市场活动名为 %s",iterationno++,lr_eval_string("{name}"));
lr_output_message("使用的登录名为 %s",lr_eval_string("{username}"));
插在事务开始后面
//关联函数
例:web_reg_save_param_ex(
"ParamName=CorrelationParaneter_1",
"LB=/> ,<span>",
"RB=</span",
"Ordinal=all",
SEARCH_FILTERS,
"Scope=body",
LAST);
取随机数:
1. 随机地取CorrelationParameter_2_2到CorrelationParameter_2_7
2. 随机2到7:int randno=2; -----插在Action后面
randno=()%6+2; -----插在事务结束前面
3. 随机参数 char statusparm[30]; -----插在Action后面
sprintf(statusparm,"{CorrelationParameter_2_%d}",randno);-----插在事务结束前面
4.取随机的参数元素值,然后保存到一个参数中
lr_save_string(lr_eval_string(statusparm),"randnostauts");-----插在事务结束前面
为了调试//临时输出
lr_output_message("随机数为 %d",randno);
第六部分:LoadRunner VuGen脚本开发之关键技术关联特殊案例
//定义一个随机数变量(19-24之间的值)
int randno=19;
char statusstring[40];
//获取一个随机19到24的值
randno=19+rand()%6; -------插在事务结束前面
spintf(statusstring,"{CorrelationParameter_1_%d}",randno);----插在事务结束前面
//临时输出
lr_output_message("随机参数传为 %d",lr_eval_string(statusstring));----插在事务结束前面
//把一个字符串保存到一个参数
lr_save_string(lr_eval_string(statusstring),"RandStatus"); ----插在事务结束前面
第七部分:LoadRunner VuGen脚本开发之一个完整脚本开发
//定义一个变量,用来记录循环次数
int iteration=1; ----插在事务开始前面
//判断注册是否成功,如果失败则输入失败的注册用户名以及在哪次循环失败
if(atoi(lr_eval_string("{welcome_Count}"))>=1){ ------welcome_Count是一个检查点文本计数
lr_end_transaction("注册_提交", LR_PASS);//如果提交成功,设置事务状态为PASS
}else{
lr_end_transaction("注册_提交", LR_FAIL);//如果提交失败,设置事务状态为FAIL
lr_error_message("注册失败,注册的用户名为 %s",lr_eval_string("{username}"));
lr_error_message("注册失败,在第 %d 次循环失败",iteration++);
}
//插入集合点,模拟同时订票提交
lr_rendezvous("订票集合点"); ------插在事务订票开始之前
脚本注释说明
/*
作者:
版本:
版权:
修订记录:
功能:
关键参数:username
*/
例子:
web_reg_find("Text=欢迎您",
"SaveCount=欢迎您_Count", -------SaveCount是保存计数意思
LAST);
线程:一个vuser要1mb内存
-----------------------------------------------------------------------------------------------------
//判断注册是否成功,如果失败则输入失败的注册用户名以及在哪次循环失败
if(atoi(lr_eval_string("{welcome_Count}"))>=1){
lr_output_message("log on successful");
lr_output_message("使用的登录名为 %s",lr_eval_string("{username}"));
}else{
lr_error_message("log on failed");
lr_error_message("注册失败,注册的用户名为 %s",iteration++,lr_eval_string("{username}"));
//lr_error_message("注册失败,iteration++);
}
//验证登录用户数是否成功
if(atoi(lr_eval_string("{username}"))>=0){
lr_output_message("log on successful");
lr_output_message("使用的登录名为 %s",lr_eval_string("{username}"));
}else{
lr_error_message("log on failed");
lr_error_message("注册失败,注册的用户名为 %s",lr_eval_string("{username}"));
//lr_error_message("注册失败,iteration++);
}
参数化:Unique+Each iteration+Abort Vuser
第五部分:LoadRunner VuGen脚本开发之关键技术关联详解
//想知道循环有没有出错(定义一个变量记录循环次数)
Action:
插在Action前面 int iteration=1;
插在事务结束后面 lr_output_message("执行到第 %d 次循环,使用的市场活动名为 %s",iterationno++,lr_eval_string("{name}"));
lr_output_message("使用的登录名为 %s",lr_eval_string("{username}"));
插在事务开始后面
//关联函数
例:web_reg_save_param_ex(
"ParamName=CorrelationParaneter_1",
"LB=/> ,<span>",
"RB=</span",
"Ordinal=all",
SEARCH_FILTERS,
"Scope=body",
LAST);
取随机数:
1. 随机地取CorrelationParameter_2_2到CorrelationParameter_2_7
2. 随机2到7:int randno=2; -----插在Action后面
randno=()%6+2; -----插在事务结束前面
3. 随机参数 char statusparm[30]; -----插在Action后面
sprintf(statusparm,"{CorrelationParameter_2_%d}",randno);-----插在事务结束前面
4.取随机的参数元素值,然后保存到一个参数中
lr_save_string(lr_eval_string(statusparm),"randnostauts");-----插在事务结束前面
为了调试//临时输出
lr_output_message("随机数为 %d",randno);
第六部分:LoadRunner VuGen脚本开发之关键技术关联特殊案例
//定义一个随机数变量(19-24之间的值)
int randno=19;
char statusstring[40];
//获取一个随机19到24的值
randno=19+rand()%6; -------插在事务结束前面
spintf(statusstring,"{CorrelationParameter_1_%d}",randno);----插在事务结束前面
//临时输出
lr_output_message("随机参数传为 %d",lr_eval_string(statusstring));----插在事务结束前面
//把一个字符串保存到一个参数
lr_save_string(lr_eval_string(statusstring),"RandStatus"); ----插在事务结束前面
第七部分:LoadRunner VuGen脚本开发之一个完整脚本开发
//定义一个变量,用来记录循环次数
int iteration=1; ----插在事务开始前面
//判断注册是否成功,如果失败则输入失败的注册用户名以及在哪次循环失败
if(atoi(lr_eval_string("{welcome_Count}"))>=1){ ------welcome_Count是一个检查点文本计数
lr_end_transaction("注册_提交", LR_PASS);//如果提交成功,设置事务状态为PASS
}else{
lr_end_transaction("注册_提交", LR_FAIL);//如果提交失败,设置事务状态为FAIL
lr_error_message("注册失败,注册的用户名为 %s",lr_eval_string("{username}"));
lr_error_message("注册失败,在第 %d 次循环失败",iteration++);
}
//插入集合点,模拟同时订票提交
lr_rendezvous("订票集合点"); ------插在事务订票开始之前
脚本注释说明
/*
作者:
版本:
版权:
修订记录:
功能:
关键参数:username
*/
例子:
web_reg_find("Text=欢迎您",
"SaveCount=欢迎您_Count", -------SaveCount是保存计数意思
LAST);
线程:一个vuser要1mb内存
-----------------------------------------------------------------------------------------------------
//判断注册是否成功,如果失败则输入失败的注册用户名以及在哪次循环失败
if(atoi(lr_eval_string("{welcome_Count}"))>=1){
lr_output_message("log on successful");
lr_output_message("使用的登录名为 %s",lr_eval_string("{username}"));
}else{
lr_error_message("log on failed");
lr_error_message("注册失败,注册的用户名为 %s",iteration++,lr_eval_string("{username}"));
//lr_error_message("注册失败,iteration++);
}
//验证登录用户数是否成功
if(atoi(lr_eval_string("{username}"))>=0){
lr_output_message("log on successful");
lr_output_message("使用的登录名为 %s",lr_eval_string("{username}"));
}else{
lr_error_message("log on failed");
lr_error_message("注册失败,注册的用户名为 %s",lr_eval_string("{username}"));
//lr_error_message("注册失败,iteration++);
}
相关文章推荐
- ubuntu下成功使用cc-tool给CC2530烧录程序
- PostgreSQL优点特性
- CvArr、Mat、CvMat、IplImage、BYTE转换
- maven笔记
- 使用groovy JsonBuilder输出对象JSON格式
- 天天拼SQL——被group后与原表再结合
- SVN分支的创建,合并,与销毁
- 在循环中将多列数组组合成大数组
- nyoj--1237--最大岛屿(dfs+数据处理)
- 软件方法阅读笔记(三)
- Linux系统目录结构
- Xcode真机测试could not find developer disk image解决方法(当SDK升级高版本而Xcode没升级的时候会出现这种情况)
- impala 建表,外部文件数据导入impala中
- 【AngularJs】---JSONP跨域访问数据传输
- 1、不要说你懂类
- 软件方法阅读笔记(二)
- 杂谈
- Android 中 View 炸裂特效的实现分析
- 从原始文档到KNN分类算法实现(二)
- asp.net获取服务器信息