1 LoadRunner包含以下组件:
  • Virtual User Generator 录制最终用户业务流程并创建自动化性能测试脚本,即Vuser脚本。
  • Controller 组织、驱动、管理并监控负载测试。
  • Load Generator 通过运行Vuser产生负载。
  • Analysis 用于查看、剖析和比较性能结果。
  • Launcher 使您可以从单个访问点访问所有LoadRunner组件。
2 术语
  • 场景 场景文件根据性能要求定义每次测试期间发生的事件
  • Vuser 在场景中,LoadRunner用虚拟用户(或称Vuser)代替真实用户。Vuser模拟真实用户的操作来使用应用系统。一个场景可以包含数十、数百万乃数千个Vuser。
  • Vuser脚本 Vuser脚本描述Vuser在场景中执行的操作
  • 事务 要评测服务器性能,需要定义事务。事务代表要评测的终端用户业务流程

事务是指用户在客户端做一种或多种业务所需的操作集,通过事务函数可以标记完成该业务所需要的操作内容;另一方面事务可以用来统计用户操作的响应时间,事务响应时间是通过记录用户请求的开始时间和服务器返回内容到客户时间的差值来计算用户操作响应时间的
对于软件来说,通过事务得到的系统响应时间也是由非常多的部分组成的,一般来说响应时间由网络时间、服务器处理时间、网络延迟三大部分组成。

3 负载测试一般包括5个阶段:规划、创建脚本、定义场景、执行场景和分析结果。
  • 规划负载测试:定义性能测试要求,例如并发用户数量、典型业务流程和要求的响应时间。
  • 创建Vuser脚本:在自动化脚本中录制最终用户活动。
  • 定义场景:使用LoadRunner Controller设置负载测试环境。
  • 运行场景:使用LoadRunner Controller驱动、管理并监控负载测试。
  • 分析结果:使用LoadRunner Analysis创建图和报告并评估性能。
4 主要函数
  • web_url()函数:可以模拟用户请求,它也是在脚本中最常使用的函数之一;
    基本语法为:web_url(“在测试结果中显示的名称”,“URL=需要访问的超链地址”,LAST);
  • web_link()函数:用来模拟用户单机一个超链接的操作;
    基本语法为:web_link(“在测试结果中显示的名称”,“TEXT=需要单击的超链接名”,LAST);
    如果一个页面中有多个同名的链接,使用Ord关键词,例如:Ord=2,单击页面上的第二个链接
  • web_submit_form()函数:会自动检测在当前页面上是否存在form,然后将后面的ITEMDATA数据进行传送;
  • web_submit_data()函数:无须前面的页面支持,直接发送给对应页面相关数据即可;
  • Web_add_cookie()函数:主要负责为Vuser脚本添加一个cookie信息;
  • web_custom_request()函数:用来自定义HTTP请求规则;
  • lr_output_message()函数:将内容输出到Replay Log中,例如// 输出整数型的内容
    lr_output_message(“%d”,x);// 输出字符串的内容 lr_output_message("%s",x)
  • lr_eval_string()函数:可以从参数中取得对应的值,并转换成一个字符串
    基本语法为:lr_eval_string("{参数名}")
    例如获得一个字符串的第一个字母的ASCII码:Lr_eval_string("{param}")[0]
  • atoi()函数:将字符串转换为整数
  • lr_advance_param()函数:手工将参数的值下移一位
  • lr_load_dll()函数:用来实现调用外部dll扩展脚本的功能
    参数和变量的最大区别在于:参数必须在双引号中才能应用,而变量如果使用双引号则变成了一个字符串,所以使用lr_eval_string()函数的时候也是使用双引号来调用的
  • lr_save_string(“http://www,51testing.com”,“website”)函数:将一个字符串保存为一个参数
  • lr_save_init()和lr_save_datetime()函数:把数字和日期写入一个参数
4.1 参数数组函数
创建一个访问网站的参数数组,可以编写一下代码:
lr_save_string("www.google.com","website_1");
lr_save_string("www.baidu.com","website_2");
lr_save_string("www.163.com","website_3");
lr_save_string("www.sina.com","website_4");
lr_save_string("4","website_count");
  • lr_paramarr_idx()函数:可以取出参数数组中某个编号的值
    例如char * siteval;
    sitaval = lr_paramarr_idx(“website”, 2);得出结果www.baidu.com,
    也可以使用lr_eval_string("{website_2}");得出结果www.baidu.com,
  • lr_paramarr_len()函数:可以获取整个参数数组的长度
  • lr_paramarr_random()函数:是从参数列表中随机选择一个参数

例如:遍历整个参数数组中的所有内容

int arrid;
for(arrid = 1;arrid <= lr_paramarr_len("website");arrid++)
{lr_output_message( lr_paramarr_idx("website",arrid));
}
4.2 关联函数
  • web_reg_save_param()函数:可以完成对服务器返回的保存操作
    关联函数的作用是通过一种规则将服务器的返回保存在一个参数中
  • web_set_max_html_param_len()函数:可以自定义关联返回值存放的参数的最大长度
  • lr_save_var()函数:可以对一个参数值进行偏移和长度设置
    lr_save_string(“I come from shanghai”,“city”);
    lr_save_var(lr_eval_string("{city}"),6,0,“result”);//从city这个参数中取6位长度的内容保存到result参数中
    lr_save_var(lr_eval_string("{city}")+7,4,0,“result”);//从city这个参数的第7位开始取4个长度的内容保存到result参数中
  • strtok()函数:作用是通过某个分隔符来切分内容
  • web_reg_find()文本检查点函数:提供了一种对服务器返回内容进行查询的功能,和关联的不同之处在于检查点函数只能返回检索到内容的次数。
  • web_image_check()函数:可以检查页面上的图片,例如web_image_check(“函数标题”)
4.3 事务相关函数
  • lr_start_transaction(“mainpage”)函数:插入事务函数
  • lr_end_transaction(“mainpage”,LR_AUTO)函数:结束事务函数
    子事务
    Lr_start_sub_transaction(“子事务名”,“父事务名”)
    Lr_end_sub_transaction(“子事务名”,“子事务状态”)

事务状态有以下4种:
LR_AUTO:LR_AUTO是指事务的状态由系统自动根据默认规则来判断,结果为PASS/FAIL/STOP。
LR_PASS:LR_PASS是指事务是以PASS状态通过的,说明事务正确地完成了,并且记录下对应的时间,这个时间就是指做这件事情所需要消耗的响应时间。
LR_FAIL:LR_FAIL是指事务以FAIL状态结束,该事务是一个失败的事务,没有完成事务中脚本应该达到的效果,得到的时间不是正确操作的时间,这个时间在后期的统计中将被独立统计。
LR_STOP:LR_STOP将事务以STOP状态停止。

事务的PASS和FAIL状态会在场景的对应计数器中记录,包括通过的次数和事务的响应时间,方便后期分析该事务的吞吐量以及响应时间的变化情况。

  • lr_get_transcation_duration(“事务名”):获得对应事务达到该函数运行位置时持续的时间,返回double类型
  • lr_get_transcation_wasted_time(“事务名”):获得对应事务达到该函数运行位置时的wasted时间,返回double类型
  • lr_wasted_time(毫秒):为一个事务添加wasted时间,无返回
  • lr_stop_transaction(“事务名”):将一个事务暂停,该函数后的操作都不会被记入事务时间
  • lr_resume_transaction(“事务名”):将暂停的事务恢复
  • wen_get_int_property()函数:获得一个下载操作的响应时间
  • lr_think_time()函数:提供一种模拟用户等待的方式
  • lr_rendezvous()函数:是集合点函数

性能测试工具LoadRunner篇相关推荐

  1. 性能测试工具Loadrunner以及性能测试的流程以及每一个步骤的流程和结果分析

    [文章末尾给大家留下了大量的福利] 性能测试工具Loadrunner Loadrunner是HP公司研发的性能测试工具,原理是通过刻录传输协议生成脚本,增强脚本以后模拟大量用户并发进行性能测试. 对于 ...

  2. 性能测试工具LoadRunner的基本使用

    性能测试工具LoadRunner的基本使用 一.LoadRunner的基本概念 功能 LoadRunner是一种适用于许多软件体系架构的自动化负载测试工具,从用户关注的响应时间.吞吐量.并发用户和性能 ...

  3. 性能测试工具—LoadRunner

    LoadRunner LoadRunner性能测试过程 开发测试脚本 录制脚本 完善脚本 创建性能测试场景 利用Analysis分析结果 性能测试报告 LoadRunner LoadRunner是一种 ...

  4. 软件性能测试工具LoadRunner常见问题说明

    原创 pre_tender  51Testing软件测试网 概述 最近再学习软件测试中的性能测试,已经9102年了,使用到的工具也已经是LoadRunner12+了,遇到的一些使用上的问题,这里记录一 ...

  5. 压力测试/性能测试工具LoadRunner录制脚本详细步骤(一)

    一.配置代理服务 1.打开脚本录制/编写窗口:打开LoadRunner,点击Create/Edit Scripts. 图1.打开LoadRunner 2.新建脚本: a.点击[File]-[New], ...

  6. 软件测试实验--性能测试工具LoadRunner

    HP Loadrunner12的下载和安装 LoadRunner12.x简易入门教程--(一)回放与录制 打不开网页, 有脚本,没有关联实例,显示成功. LoadRunner12安装及基本使用

  7. 《精通软件性能测试与LoadRunner最佳实战》—第2章2.节

    内 容 提 要 精通软件性能测试与LoadRunner最佳实战 本书在介绍软件性能测试概念的基础上,结合对实际测试案例的剖析,重点讲解了性能测试实战技术.LoadRunner工具的使用技巧和实践工作中 ...

  8. 性能测试工具Curl-Loader

    关于性能的研究,我们大多都开始于工具,而对于性能测试本身我们又了解多少呢?很多人初级测试人员一提到性能测试就想到LoadRunner,而且开始疯狂地去学习LoadRunner,以为学会了LR就成为了性 ...

  9. Java常用记录工具_Java常用的性能测试工具记录

    相关推荐:测试工具 测试工具 测试管理工具                          Quality Center 基于WEB的测试管理工具 Test  Director 功能测试工具     ...

最新文章

  1. 文本框 清空_VBA代码中利用文本框,完成人机对话过程
  2. SpringBoot整合mybatis进行快速开发
  3. NetBeans 时事通讯(刊号 # 134 - Jan 25, 2011)
  4. cimoc 最新版_Cimoc漫画最新版
  5. 力扣141.环形链表
  6. 谷歌何时停止Android更新,谷歌宣布Android Studio将停止为32位系统提供更新
  7. 小区物业收费管理系统
  8. 计算机网卡的总线接口分类有,网卡的详细分类是怎样的?以太网卡有将高层数据转换为比特流的功能吗?...
  9. sqlserver查看历史死锁信息
  10. 江苏五大姓氏世家,第一王,第二张,看看你是不是来自名门望族
  11. CCF201809-3
  12. 笔记 :AVS2背景建模
  13. 【opencv 450 Image Processing】Image Moments 图像矩
  14. 什么是数据中心SOP、MOP、EOP?
  15. select下拉选项禁用
  16. 《CLR via C#》读书笔记---11事件
  17. 水溶性/油溶性四氧化三铁(Fe3O4)纳米颗粒
  18. VirtualBox安装出现严重错误
  19. SQL Sever 2000/2005/2008下载地址集合
  20. Nacos系列【23】Nacos2.x服务发现模块之注册中心健康检查机制

热门文章

  1. mysql gbk编码 字节数,mysql中utf-8编码数据库转换成GBK编码的问题
  2. 基于springboot的家装平台设计与实现
  3. AndroidO Treble架构分析1
  4. DG备库-OGG 同步
  5. [易信公众账号开发]第一章 序
  6. 上海罗森便利副总经理何韻民:我们不要为了数字化而数字化,要让数字化为实体服务丨数据猿专访...
  7. ios8.1.2耗电情况严重的解决方法
  8. 2020第一季度学习总结
  9. win7“显示桌面”
  10. c语言设计(TVI)地铁自动售票机---@颜麓