测试脚本的编写是性能测试过程中的重要部分,本系列文章为您分享LoadRunner性能测试工具脚本编写部分的教程,今天继续问您介绍性能测试脚本增强。
下面为您介绍LoadRunner脚本增强的一些功能,使脚本可以更加准确地生成负载,帮助我们更加精准地进行性能测试。
一、添加参数化
录制业务流程时,VuGen 将生成包含录制期间使用的实际值的脚本。如果要使用与录制的值不同的值来执行脚本的操作,请将录制的值替换为参数。这称为参数化脚本。
二、插入事务
在进行性能测试时,可以定义事务以评估服务器的性能。每个事务计算服务器响应指定的 Vuser 请求时 所用的时间。这些请求可以是等待响应单个查询等简单任务,也可以是提交多个查询并生成报告等复杂任务。
要评估事务,请插入 Vuser 函数来标记任务的开始和结束。在脚本中,可以标记无限数目的事务,每个事务的名称都不同。
对于 LoadRunner Professional,Controller 将计算执行每个事务所花的时间。测试运行后,使用 Analysis 的图和报告按事务分析服务器的性能。
创建脚本之前,应确定要评测哪些业务流程。然后将每个业务流程或子流程标记为事务。
可以在录制期间或录制之后创建事务。
录制脚本时或录制脚本后,可以将事务插入到 Vuser 脚本中。
要在录制期间插入事务,请使用浮动工具栏上的按钮,或单击 Ctrl +T。要在录制后将事务插入脚本中,请使用设计 > 在脚本中插入菜单项。
在录制时插入事务:
1、标记事务的开始
在“录制”工具栏上,单击“开始事务”按钮 ,输入事务名称,然后单击“确定”。
生成脚本时,VuGen 将向 Vuser 脚本中插入lr_start_transaction语句。
2、标记事务的结束
在“录制”工具栏上,单击“结束事务”按钮 ,选择要关闭的事务。
生成脚本时,VuGen 将向 Vuser 脚本中插入lr_end_transaction语句。
在录制后插入事务
在录制 Vuser 脚本后可使用 VuGen 的编辑器插入事务。
1、标记事务的开始
将光标放在脚本中要开始事务的位置,然后执行以下某项操作:
选择设计 > 在脚本中插入 > 开始事务。
按Ctrl+T。
在要开始事务的脚本中右键单击,然后选择插入 > 开始事务。
VuGen 将向 Vuser 脚本中插入lr_start_transaction函数。在新步骤中输入事务名。
2、标记事务的结束
将光标放在脚本中要结束事务的位置,然后执行以下某项操作:
选择设计 > 在脚本中插入 > 结束事务。
按 Ctrl+Shift+T。
在要结束事务的脚本中右键单击,然后选择插入 > 结束事务。
VuGen 将向 Vuser 脚本中插入 lr_end_transaction 函数。在新步骤中输入事务名。
3、同时标记事务的开始和结束
选择要包含在事务中的步骤。
请执行以下其中一个操作:
选择“设计”>“在脚本中插入”>“事务环绕”。
按 Shift+Ctrl+I。
右键单击所选项,然后选择“事务环绕”。
将打开“由事务环绕”对话框。
输入事务的名称,然后单击“确定”。
VuGen 将在选定的第一个步骤之前插入 lr_start_transaction 函数,并在选定的最后一个步骤之后插入 lr_end_transaction 函数。
三、事务指南
可以创建嵌套事务,即事务中的事务。如果嵌套了事务,请先结束内部事务,再结束外部事务,否则将无法正确分析事务。但是,事务必须包括在单个action部分中。
失败的事务不会自动将脚本“回放状态”设置为“失败”。
事务名称:
必须唯一。
最大长度为 256 个字符。
必须只包含可打印的字符,可以是字母、数字和标点符号的任意组合。
四、显示事务
1、显示隐藏的事务
要显示隐藏的事务(非主要事务和客户端事务),请单击事务列表底部显示隐藏事务旁边的按钮。VuGen 将以灰色列出隐藏的事务。要隐藏这些事务,再次单击此按钮即可。
2、显示出错的事务
出错的事务是那些没有度量任何服务器步骤或使用非法名称的事务。要显示出错的事务,请单击“显示出错的事务”按钮。VuGen 将以红色列出出错的事务。要隐藏这些事务,再次单击此按钮即可。
3、显示非主要步骤事务
要显示非主要步骤的事务,需要显示所有缩略图。选择视图 > 显示所有缩略图。
五、交叉 Vuser 事务概述
交叉 Vuser 事务是允许您估计涉及多个 Vuser 的流程的持续时间的事务。例如,您可以创建交叉 Vuser 事务来确定接收方要花费多长时间才能获取发送的信息。事务类型源自其中一个 Vuser,并以另外一个结束。
开始和结束事务的 Vuser (一对一) 构成交叉 Vuser 对:
交叉 Vuser 事务不仅限于两个 Vuser。还包括广播,其中一个 Vuser 向多个 Vuser 发送消息。在此例中,开始事务的广播员和结束事务的接收者一起构成“交叉 Vuser 组”:
对于交叉 Vuser 对和交叉 Vuser 组,事务由单个 Vuser 启动。
必须定义充当每个交叉 Vuser 对或组的标识符的事务 ID。ID 必须是可唯一标识该对或组的字符串。对或组中的所有 Vuser 共享同一标识符。
建议为事务 ID 创建一个标准。ID 字符串应指示交叉 Vuser 事务是否与对或组相关。
在以上示例的 Transaction1 中,如果发送者为 "alpha",接收者为 "beta",消息为 "message1",则逻辑 ID 字符串为alpha_beta_message1。在 Transaction4 中,如果发送者为 "alpha",则逻辑 ID 字符串为alpha_broadcast。
以下示例说明了交叉 Vuser 事务的典型场景:
从某个用户发送电子邮件到另一个用户接收电子邮件所花费的时间。
用户看到消息发布在社交网络上所花费的时间。
使用交叉 Vuser 事务创建脚本时,请使用以下准则:
· 交叉 Vuser 事务不会计算思考时间、浪费时间等,而是仅记录持续时间。
· Controller 的事务监控器未使用交叉 Vuser 事务数据。
· LoadRunner Professional 无法检测交叉 Vuser 事务的状态。
创建交叉 Vuser 事务
交叉 Vuser 事务是允许您估计涉及多个 Vuser 的流程的持续时间的事务。
1、打开步骤工具箱(从 VuGen 的视图菜单)并在事务开头手动添加lr_start_cross_vuser_transaction函数。
2、将lr_end_cross_vuser_transaction函数拖到脚本中,以标记事务的结束。
3、填写事务名和事务 ID字段。确保为事务创建唯一 ID。可以与任何其他标准参数一样参数化事务 ID。
4、在 VuGen 中回放脚本以检查其功能。检查输出日志中是否有任何错误消息。
六、插入集合点
可以使用集合点指示多个 Vuser 在同一时刻执行任务。当某个 Vuser 到达集合点时,它将等待,直到参与该集合的全部 Vuser 都到达集合点。当指定数目的 Vuser 到达后,将释放 Vuser。
可以通过以下方式插入集合点:
要在录制时插入集合点,请单击“录制”工具栏上的集合按钮 ,然后在对话框中输入名称(不区分大小写)。
要在录制后插入集合点,请选择设计 > 在脚本中插入 > 集合,然后输入集合点的名称(不区分大小写)。
插入集合点之后,VuGen 将向 Vuser 脚本中插入lr_rendezvous函数。例如,以下函数定义了名为 rendezvous1 的集合点:
lr_rendezvous("rendezvous1");
七、插入 VuGen 函数
您可以在此插入 VuGen 函数。 LoadRunner VuGen函数列表可私信我获取。
八、插入步骤
您可以向脚本中插入各种步骤,如思考时间步骤、调试消息和输出消息。
九、插入注释
使用 VuGen,可以在 Vuser 活动之间插入注释。通过插入注释可以描述活动或提供 有关特定操作的信息。例如,如果正在录制数据库操作,可以插入注释以标记第一个查询,如“这是第一条查询”。
可以通过以下方式插入注释:
要在录制时插入注释,请单击“录制”工具栏上的插入注释按钮 ,然后在“插入注释”对话框中输入所需注释。
要在录制后插入注释,请选择设计 > 在脚本中插入 > 注释,然后输入注释。
以下脚本段显示了注释在 Vuser 脚本中的显示方式:
十、插入日志消息
可以使用 VuGen 生成 lr_log_message 函数,并将其插入到 Vuser 脚本中。例如,录制数据库操作时,可以插入消息指明第一个查询:“This is the first query”。
要插入日志消息,请选择设计 > 在脚本中插入 > 日志消息,然后输入消息。
十一、插入同步点 (仅 RTE Vuser)
可以添加同步函数,使 Vuser 脚本的执行与应用程序的输出同步。同步将仅适用于 RTE Vuser 脚本。
下面列出了可用的同步函数:
TE_wait_cursor
等待光标出现在终端窗口中的指定位置。
TE_wait_silent
等待客户端应用程序在指定秒数内处于静默状态。
TE_wait_sync
等待系统退出 X-SYSTEM 或“禁止输入”模式。
TE_wait_text
等待字符串出现在指定位置。
TE_wait_sync_transaction
录制系统最近一次在 X-SYSTEM 模式下保持的时间。
以上就是我们为您整理的LoadRunner性能测试工具脚本增强的相关内容,后面的文章会继续为您介绍脚本增强的一些更加高阶的技能,欢迎继续关注。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.