性能测试LoadRunner 第一个开发测试脚本

  
基于HP LoadRunner。第一个开发测试脚本,知识点及流程。
一个登陆操作,只插入了事务和集合点。

Virtual User Generator,录脚本(虚拟用户生成器)
Controller,控制器
Analysis,分析报告

添加注册用户
   D:\Program Files (x86)\LoadRunner 12.01\WebTours\cgi-bin\users 目录,复制jojo更改id密码。
   或直接在录制http://127.0.0.1:1080/WebTours/中注册。

涉及知识点总结
   1.VuGen中的脚本分为三部分:vuser_init、vuser_end 和 Action。类似于unittest等测试框架。init,end只执行一次,重复执行为Action部分。

      vuser_init用于用户初始化。
      vuser_end用于用户清理工作。
      Action用于具体的需要测试的操作。

   2.插入事务,事务(Transaction):为了衡量服务器的性能,我们需要定义事务。比如:我们在脚本中有一个数据查询操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个事务,这样在运行测试脚本时,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映。插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner 可以在脚本中插入不限数量的事务。

lr_start_transaction("login_transaction");

   3.插入集合点,插入集合点是为了衡量在加重负载的情况下服务器的性能情况。在测试计划中,可能会要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000 人,LoadRunner 就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据,从而达到测试计划中的需求。
注意:集合点经常和事务结合起来使用。集合点只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合点。

lr_rendezvous("login_zvous");

总流程!!!概述

  
准备工作:启动StartServer.bat服务
   Loadrunner安装时附带的样例程序Web Tours进行
   D:\Program Files (x86)\LoadRunner 12.01\WebTours,选择StartServer.bat启动服务。
    

step1:录制基本用户脚本-Virtual User Generator
   1.在Visual User Generator中,新建脚本,选择对应协议,创建后,进入主窗体。

   2.点击录制,选择录制部分,选择浏览器,填写URL,确定脚本存放位置,开始录制。
      http://127.0.0.1:1080/WebTours/

   3.开始录制操作,进行操作,插入事务,插入集合点,结束事务,点击停止录制,返回脚本界面。

   4.菜单栏Tools下Create Controller Scenario,设置并发用户3(max6),ok跳至 Controller运行。
  
  
step2:控制器中运行-Controller
   1、更改初始化、开始、运行时长、结束设置,至如下图。

   2、运行,在Scenario Groups中运行;也可在下菜单栏Run界面中Scenario Groups运行。

   3、控制器观察运行情况。

  

step3:生成分析报告-Analysis

生成的脚本:

Action()
{

	web_url("WebTours", 
		"URL=http://127.0.0.1:1080/WebTours", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer=", 
		"Snapshot=t1.inf", 
		"Mode=HTML", 
		LAST);

	lr_think_time(5);

	lr_start_transaction("login_transaction");

	lr_rendezvous("login_zvous");

	web_submit_form("login.pl", 
		"Snapshot=t2.inf", 
		ITEMDATA, 
		"Name=username", "Value=zxy", ENDITEM, 
		"Name=password", "Value=123", ENDITEM, 
		"Name=login.x", "Value=76", ENDITEM, 
		"Name=login.y", "Value=8", ENDITEM, 
		LAST);

	lr_end_transaction("login_transaction",LR_AUTO);

	lr_think_time(5);

	web_image("SignOff Button", 
		"Alt=SignOff Button", 
		"Snapshot=t3.inf", 
		LAST);

	return 0;
}

本文地址:https://blog.csdn.net/weixin_43660497/article/details/107369943