本系列文章md笔记(已分享)次要探讨性能测试相干常识。入门阶段:意识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试),罕用性能测试指标-(吞吐量、并发数、响应工夫、点击数...),性能测试工具抉择。性能脚本:1. LoadRunner介绍,2. 脚本录制、运行、参数化,3. 关联、检查点、事务、集合点。性能场景:1. 场景分类、场景设计、场景运行策略,2. 资源监控、SLA、IP Wizard利用。性能剖析:1. 摘要报告、事务图表、图表合并,2. 穿插后果、拐点剖析、Web我的项目资源剖析。
全套笔记和代码自取移步gitee仓库: gitee仓库获取残缺文档和代码
感兴趣的小伙伴能够自取哦,欢送大家点赞转发~
共 5 章,25 子模块
<center>性能测试工具-LoadRunner</center>
学习指标
1. 了解基于VuGen的脚本录制2. 把握参数化的应用办法3. 把握关联的应用办法4. 把握检查点的应用办法5. 把握事务的应用办法6. 把握集合点的利用
<center>VuGen操作</center>
一、VuGen介绍
VuGen(Virtual User Generator)录制客户端和服务器之间的相干交互流动,它将主动生成相干模仿 理论状况的API(Application Programming Interface)函数。
提醒: 1. LR录制脚本性能因为兼容性问题,十分不好使,所以咱们平时在工作中也不倡议应用录制的形式; 2. 因为兼容性问题和录制会产生多余的操作,因而个别都是手写脚本; 3. 为了更好的学习VuGen,咱们基于LR11自带的订票零碎为案例,练习应用VuGen。
案例1
需要:1. 录制机票网站的登录、退出脚本应用: 1. 启动网站服务程序 2. 拜访地址:http://127.0.0.1:1080/WebTours/ 3. 登录账户:用户名:jojo 明码:bean
【案例】-启动服务程序
地位:开始菜单 -> HP LoadRunner -> Samples -> Web -> Start Web Server提醒:WebTours我的项目默认应用1080端口,如果启动失败,看是否端口被占用或者是否有权限;
启动胜利界面
二、案例1-施行步骤剖析
1. 启动VuGen2. 创立脚本3. 抉择录制协定 Web(HTTP/HTML)【重要】4. 录制设置5. 脚本录制6. 运行脚本
2.1 启动VuGen
形式一:间接运行VuGen图标启动【举荐】
开始菜单 -> HP LoadRunner -> Applications -> Virtual User Generator
形式二:通过LoadRunner管理器启动
开始菜单 -> HP LoadRunner -> LoadRunner
点击:Create/Edit Scripts
2.2 创立脚本
1. 菜单栏(File) -> New 快捷键(Ctrl + N)2. 罕用工具栏 -> 第一个图标新建3. Start Page:点击快捷创立脚本图标(new Script)【举荐】
2.3 抉择协定
1. New Single Protocol Script:繁多协定2. Popular Protocols:支流协定3. Web(HTTP/HTML):HTTP协定【抉择】
2.4 录制设置
1. Application type:Internet Applications【抉择】(Internet Applications:HTTP协定应用)2. Program to record:抉择浏览器 1). IE8:(提醒:64位操作系统必须抉择32位IE8!)【抉择】 2). 火狐浏览器v24版本;3. URL Address:http://127.0.0.1:1080/WebTours/(我的项目网址)4. Working directory:工作目录(默认即可)5. Record into Action:录制脚本寄存的打算名 1). vuser_init:首先执行;迭代运行时候,只会运行一次 2). Action:可迭代运行、可新增【抉择】 3). vuser_end:最初执行;迭代运行时候,只会运行一次6. 点击OK -> 开始录制
2.5 脚本录制
1. Recording...(xxx events):录制事件2. 用户名:jojo 明码:bean3. 点击Login4. 点击Sign Off退出登录5. 进行录制6. 生成脚本
退出登录
进行录制
生成脚本
2.6 运行(回放)脚本
验证录制脚本是否能失常运行
1. 点击 Run 按钮2. 快捷键:F5键
查看回放脚本的运行后果
菜单(View) -> Test Results...
三、总结
1. 启动VuGen形式2. 录制HTTP我的项目协定3. 录制设置各选项含意 1). Application type 2). Program to record 3). URL Address 4). Working directory 5). Record into Action4. 如何运行脚本5. 如何查看运行脚本的后果
<center>VuGen-扩大(录制、回放)</center>
指标
1. 理解录制模式和脚本类型2. 理解 Run-time Settings(运行时设置)
一、录制选项-扩大
1.1 录制设置Options选项
- HTML-based script: 所有申请放到一个函数内(这里所有申请是指,每步操作所产生的申请)
- URL-based script: 每个申请放到一个函数
提醒:
1). 基于浏览器的应用程序举荐应用 HTML-based script 2). 不是基于浏览器的应用程序举荐应用 URL-based script 3). 基于浏览器的应用程序中应用了 HTTPS 平安协定,应用 URL-based script 形式录制
1.2 HTML Advanced选项
1. web_submit_form: 依赖上下文能力提交。2. web_submit_data: 不依赖上下文,每个函数都指定了具体的 URL 地址,能够间接提交胜利。【举荐】提醒:没有非凡的场景需要,举荐应用:web_submit_data
二、运行设置
Run-time Settings
(菜单-Vuser -> Run-time Settings) 快捷键:F4
2.1 Run-time Settings
1. Run Logic 脚本运行迭代次数2. Think Time 运行时思考工夫解决形式
1. RunLogic 迭代次数
提醒: 1. 迭代就是脚本要执行的次数 2. Init 与 End 因为只会运行一次,迭代次数设置不会失效
2. Think Time 思考工夫
提醒:1. Ignore think time 默认(疏忽思考工夫)2. Replay think time (回放思考工夫) 1). As recorded (录制多少秒,就期待多少秒) 2). MuItiply recorded think time by (录制工夫的倍数) 3). Use random percentage of recorded think time ( Min(录制工夫的最小百分比) Max(录制工夫的最大百分比)) 4). Limit think time to(限度最高工夫)
2.2 罕用函数
1. lr_output_message()2. lr_think_time()
1) 函数 lr_output_message()
输入到运行日志 如:lr_output_message("hello Action");参数:要输入的文本信息
2) lr_think_time()
思考工夫 最大可能模拟用户实在操作 如:lr_think_time(4);参数:进展多少秒
练习
1. 输入Action被执行10次,应用迭代次数实现;2. 输入Action1被执行暂停3秒后,输入Action2被执行;
练习脚本
Action(){ lr_output_message("Action1被执行"); lr_think_time(3); lr_output_message("Action2被执行");return 0;}
2.3 扩大 编译
C语言属于高级语言,不能间接被计算机辨认,须要进行编译成计算机可执行语言,在编译的时候如果脚本语法有错,会间接提醒。应用:点击编译图标或应用快捷键:Shift + F5
提醒:
编译提醒:No errors detected 代表通过;
<center>VuGen-手动编写脚本</center>
指标
1. 把握C语言的正文办法2. 把握基于LR手动编辑脚本的办法
首先科普下C语言中的正文;
1. //:单行正文 如://登录 2. /**/:多行正文 如:/*多行 正文*/ 提醒: 1). Ctrl + Alt + C 为单行正文快捷键; 2). Ctrl + Alt + U 为勾销单行正文快捷键;
一、手动编写脚本
1.1 为什么要手写脚本
- 防止LR因为兼容性导致录制异样或失败;
- 手写脚本无冗余代码,更有利于脚本的加强(插入事务、参数化)和保护
1.2 手动编写脚本应用编写语言
- JAVA
- C语言【举荐】
提醒:
1. LoadRunner中尽管默认是应用C语言录制/编写脚本,但咱们无需专门去学C语言;2. 只需注意下根底语法和把握LR中罕用的几个申请函数的用法就能够编写罕用的脚本;
1.3 脚本申请 函数
- web_url()
- web_submit_data()
- web_custom_request()
提醒:
1. web_url:GET申请应用2. web_submit_data:GET、POST申请3. web_custom_request:定制申请(GET\POST\PUT\DELETE)等,接口申请应用此函数
1.3.1 web_url() 函数【重点】
只能做GET申请;
语法:
web_url("request name","URL=http://***",LAST); 1). request name:标记申请名称,比方:首页2). URL=http://xxx:URL=为固定格局;http://xxx为GET申请地址3). LAST完结标记;
1.3.2 web_submit_data()函数【重点】
默认设置是POST申请;也能够做GET申请。
语法:
web_submit_data(StepName, Action=http://xxx, <List of Attributes>, ITEMDATA,<List of data>, LAST); 1). StepName:标记申请名称, 比方:登录2). Action=http://xxx:Action=为固定格局;http://xxx:为提交地址3). List of Attributes:其余属性 如:"Method=POST"4). List of data:其余参数 如:"username=jojo"5). LAST:结束符
提醒:
1. POST提交参数比拟多,但咱们不需用一个个记,应用插入函数办法,在函数对话框内输出即可;2. 录制HTML页面时,Mode举荐应用HTML;
1.3.3 web_custom_request() 函数【把握】
自定义申请办法(GET/POST/PUT/DELETE),用于实现接口测试。
语法:
web_custom_request(RequestName, <List of Attributes>,LAST); 1). RequestName:申请名称2). List of Attributes:属性列表,如:"Method=POST"3). LAST:结束符
提醒:
个别做接口压测时应用;
练习
手动编写 iWebShop 的登录脚本;