性能自动化测试之LoadRunner录制脚本(三)

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!
接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/104115733

三、增强脚本

7.Block 块技术

7.1 什么是 Block 块

  • Block 块用于实现局部迭代多次

7.2 Block 块的实现

  • "补录"脚本
    ✔     录制脚本时注意最后点击【Book another】。
  • 首先在 Script View 中分解出多个 Action。
  • 添加 Block 块。
  • 设置 Block 块中的 Action 的迭代次数。
    ✔     选中 Block 然后设置 Block Properties 才能设置迭代次数
           ★     若选中 Action 或任意一个 Block 设置迭代次数,则迭代次数为所有 Action 的次数。
  • 始发地和目的地参数设置
    ✔     Sequential,Each occurrence
  • 参数转存到其他参数
    ✔     lr_save_string(lr_eval_string("{参数名 1}"),“新参数名 2”);

【例 1】实现打开网站 1 次,登录 1 次,查票并订票 3 张,退出 1 次

  • 首选在webtours订票脚本中,没有录制再定一张,所以这里博主新建一个脚本,录制再定一张,然后拷贝到订票脚本中,对比之前的脚本
    在这里插入图片描述
  • 复制到订票脚本中如下位置即可
    在这里插入图片描述
  • 删除cdtaogang订票数据,设置迭代次数为1次,运行脚本没有任何问题
    在这里插入图片描述
  • 接下来则是最关键的对action进行拆分,拆分为打开网站、登录、搜票、订票、退出(需要注意的是最好不要跟事务重名),拆分的过程为依次拆分,比如先对action进行重命名为open(也就是打开网站),然后对open右击新建操作为login(登录),然后右击login新建操作为search(搜票)依次下去
    在这里插入图片描述
  • 拆分完成action如下
    在这里插入图片描述
  • 然后在open中将打开网站之外的脚本剪切到login中,注意不要将return 0;剪切了
    在这里插入图片描述
  • 然后将搜票的脚本放在search中依次类推
    在这里插入图片描述
  • 拆分完成后,保存脚本并运行,查看日志成功并且写入数据成功后,才能证明拆分的没有问题
    在这里插入图片描述
  • 因为要实现订票三次,所以整个脚本跑一遍,订票跑三遍,这里需要用到block块,首先删除订票book动作
    在这里插入图片描述
  • 点击插入块,通过选中该Block块点击下移操作到search搜票操作下
    在这里插入图片描述
  • 紧接着插入操作,插入book订票即可
    在这里插入图片描述
  • 最后选中Block块,点击属性,设置迭代次数为3即可
    在这里插入图片描述
    在这里插入图片描述
  • 运行脚本,查看是否完成三张票的订购情况,发现每次都是订的同一航班号
    在这里插入图片描述
  • 解决方法是,在出发地和目的地参数化配置中,需要设置每次出现,而不是每次迭代
    在这里插入图片描述
  • 再次运行脚本,查看日志发现,三次订票事务都是以失败结束,出发地和目的地为London 到 Paris,可是到检查点时则变成了Denver 到 London了,原因则是再cong和dao出发地和目的地这两个参数化在脚本中不止使用一次,而参数化配置则使用的是每次出现取值,所以导致选择的出发地目的地与检查点中的出发地目的地不一致
    在这里插入图片描述
  • 解决方法则是,将cong和dao转存到参数中,这样就可以避免订票时选择的出发地和目的地与订票检查点的出发地目的地不一致
    在这里插入图片描述
  • 删除cdtaogang订票数据,执行脚本,没有任何问题
    在这里插入图片描述

【例 2】进行负载测试,200 人每人订票 3 张

  • 因为要使用200个账号进行登录并订票,博主之前把webtours注册脚本负载测试注册的200个用户给删除了,现在在场景中进行负载测试并生成200个用户数据
    在这里插入图片描述
  • 回到webtours订票脚本中的login中,对用户名进行参数化
    在这里插入图片描述
  • 对密码进行参数化
    在这里插入图片描述
  • 不要忘记在登录检查点中的文本内容中的用户名进行参数化
    在这里插入图片描述
  • 完成后,保存脚本,跑一次脚本,查看日志没有问题则才能进行场景中的负载测试
    在这里插入图片描述
  • 全局计划如下
    在这里插入图片描述
  • 场景执行完成,查看失败的事务,可以进行分析,首先打开网站通过的事务肯定大于登录通过的事务,因为网站没打开肯定无法登录,至于订票为什么通过的事务那么多,原因很简单,因为做了三次迭代嘛
    在这里插入图片描述
  • 查看执行负载测试中的错误,大多都是服务器连接问题或者是响应其次就是没有找到匹配项,因为200个用户同时开始访问登录网站并完成三次连续订票,肯定会出错误的
    在这里插入图片描述
  • 查看vuser虚拟用户中失败的日志,可以很清楚看到在订票过程中出现错误,服务器崩溃连接不上
    在这里插入图片描述

8.使用脚本操作数据库

8.1 选择协议

  • 录制脚本前,选择 Web Service 协议。
    在这里插入图片描述

8.2 连接数据库

  • 这里以连接 SQL Server 为例。
    在这里插入图片描述

8.3 创建记录集

在这里插入图片描述

8.4 打印查询结果

8.4.1 直接打印

在这里插入图片描述

  • Action 的选项
    ✔     RESET
           ★     将光标设置为数据集的第一条记录。
    ✔     REMOVE
           ★     释放数据集分配的内存。
    ✔     PRINT
           ★     将整个数据集的内容打印到重放日志和其他测试报告摘要中。
           ★     默认显示 100 行。
8.4.2 保存数据到参数后输出

在这里插入图片描述

8.5 关闭数据库链接

lr_db_disconnect("StepName=Disconnect","ConnectionName=conn",LAST);

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cdtaogang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值