LoadRunner基础
1、录制脚本
2、添加检查点
1)进入树视图
2)进入需要添加检查点的页面
3)定义检查要求
如:
3、输出函数
1)lr_output_message(变量);
2)
3) 出错继续运行的函数
脚本出错后继续运行: lr_continue_on_error(1);
4、加入事务
5、使用数据文件参数化
1)
Action()
{
lr_output_message(lr_eval_string("{test}"));
return 0;
}
2)设置迭代次数
3)迭代次数
数据
1)

Action()
{
lr_output_message(lr_eval_string("第一次:{test}"));
lr_output_message(lr_eval_string("第二次:{test}"));
return 0;
}
结果
Action.c(3): 通知: 参数替换:参数“test”=“1”
Action.c(3): 第一次:1
Action.c(4): 通知: 参数替换:参数“test”=“1”
Action.c(4): 第二次:1
正在结束操作 Action。
Action.c(3): 通知: 参数替换:参数“test”=“2”
Action.c(3): 第一次:2
Action.c(4): 通知: 参数替换:参数“test”=“2”
Action.c(4): 第二次:2
正在结束操作 Action。
Action.c(3): 通知: 参数替换:参数“test”=“3”
Action.c(3): 第一次:3
Action.c(4): 通知: 参数替换:参数“test”=“3”
Action.c(4): 第二次:3
2)

Action()
{
lr_output_message(lr_eval_string("第一次:{test}"));
lr_output_message(lr_eval_string("第二次:{test}"));
return 0;
}
结果
Action.c(3): 第一次:1
Action.c(4): 第二次:2
Action.c(3): 第一次:3
Action.c(4): 第二次:4
Action.c(3): 第一次:5
Action.c(4): 第二次:6
3)

Action()
{
lr_output_message(lr_eval_string("第一次:{test}"));
lr_output_message(lr_eval_string("第二次:{test}"));
return 0;
}
结果
Action.c(3): 第一次:1
Action.c(4): 第二次:1
Action.c(3): 第一次:1
Action.c(4): 第二次:1
Action.c(3): 第一次:1
Action.c(4): 第二次:1
4)

结果随机
Action.c(3): 第一次:5
Action.c(4): 第二次:5
Action.c(3): 第一次:4
Action.c(4): 第二次:4
Action.c(3): 第一次:
Action.c(3): 第二次:
5)

结果
Action.c(3): 第一次:3
Action.c(4): 第二次:3
Action.c(3): 第一次:6
Action.c(4): 第二次:1
Action.c(3): 第一次:4
Action.c(4): 第二次:4
6)

Action.c(3): 第一次:3
Action.c(4): 第二次:3
Action.c(3): 第一次:3
Action.c(4): 第二次:3
Action.c(3): 第一次:3
Action.c(4): 第二次:3
再次运行,变成全是5
7)

Action.c(3): 第一次:1
Action.c(4): 第二次:1
Action.c(3): 第一次:2
Action.c(4): 第二次:2
Action.c(3): 第一次:3
Action.c(4): 第二次:3
8)

9)

Action.c(3): 第一次:1
Action.c(4): 第二次:1
Action.c(3): 第一次:1
Action.c(4): 第二次:1
Action.c(3): 第一次:1
Action.c(4): 第二次:1
6、开启日志 , 控制在场景运行时显示日志信息
7、参数化
使用file文件数据
1)
2)
3)
使用sqlserver数据库数据源
1)创建数据库、表,向表中插入数据200条
如
declare @i int=1 declare @uname varchar(50) declare @pwd varchar(50) while @i<=200 begin set @pwd=CONVERT(varchar(3),@i) set @uname= 'zs'+@pwd insert into lr_user values(@uname,@pwd) set @i=@i+1 end
2)lr连接sqlserver
开启sqlserver的tcp/ip协议
关闭防火墙
设置ip地址,设置在同一网段,使得LoadRunner所在客户机能ping通sqlserver所在的机器
重新驱动数据库服务MSSQLSERVER
3)配置lr与数据库的连接
输入之后,点击下一步
选择验证方式,以及输入数据库,用户名、密码。点击下一步
选择将要连接的数据库,点击下一步
点击完成
测试连接。连接成功后,点击确认
输入密码点击确定
输入查询语句,点击完成
可以看到数据库数据已经出现
4)参数化原始数据
使用随机数参数化
使用脚本生成随机数参数化
产生100-150之间的随机数 Action() { int a,i; for(i=0;i<26;i++){ a = rand()%51+100; lr_output_message("%d",a); } return 0; }
随机产生26个大写字母
Action()
{
int a,i;
for(i=0;i<26;i++){
a = rand()%26+65;
lr_output_message("%c",a);
}
return 0;
}
strncat 函数
strncat(dest, src, n) : 从字符串 src 的开头拷贝 n 个字符到 dest 字符串尾部,从而实现 字符串的连接。
Action() { char a[17],seed[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; int i,ran; for(i=0;i<16;i++){ ran=rand()%62; strncat(a,seed+ran,1); } lr_output_message(a); return 0; }
输出为:0EOzuAyRTAXt3jFfJgnuxD3zrFkr7VWR
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~