首页 > 其他分享 >【性能测试】性能测试各知识第2篇:【附代码文档】

【性能测试】性能测试各知识第2篇:【附代码文档】

时间:2024-03-16 19:33:09浏览次数:25  
标签:脚本 web VuGen 请求 性能 录制 文档 测试 time

性能测试完整教程(附代码资料)主要内容讲述:性能测试大纲。。。。。。。。。。。。。。

全套笔记资料代码移步: 前往gitee仓库查看

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~


性能测试工具-LoadRunner

学习目标

1. 理解基于VuGen的脚本录制
2. 掌握参数化的使用方法
3. 掌握关联的使用方法
4. 掌握检查点的使用方法
5. 掌握事务的使用方法
6. 掌握集合点的应用

VuGen操作

一、VuGen介绍

VuGen(Virtual User Generator)录制客户端和服务器之间的相关交互活动,它将自动生成相关模拟 实际情况的API(Application Programming Interface)函数。

提示:
    1. LR录制脚本功能由于兼容性问题,非常不好使,所以我们平时在工作中也不建议使用录制的方式;
    2. 由于兼容性问题和录制会产生多余的操作,因此一般都是手写脚本;
    3. 为了更好的学习VuGen,我们基于LR11自带的订票系统为案例,练习使用VuGen。

案例1

需求:1. 录制机票网站的登录、退出脚本
使用:
    1. 启动网站服务程序
    2. 访问地址:
    3. 登录账户:用户名:jojo 密码:bean

【案例】-启动服务程序

创建脚本

位置:开始菜单 -> HP LoadRunner -> Samples -> Web -> Start Web Server
提示:WebTours项目默认使用1080端口,如果启动失败,看是否端口被占用或者是否有权限;

创建脚本

启动成功界面

二、案例1-实施步骤分析

1. 启动VuGen
2. 创建脚本
3. 选择录制协议 Web(HTTP/HTML)【重要】
4. 录制设置
5. 脚本录制
6. 运行脚本
2.1 启动VuGen

方式一:直接运行VuGen图标启动【推荐】

开始菜单 -> HP LoadRunner -> Applications -> Virtual User Generator VuGen启动

方式二:通过LoadRunner管理器启动

开始菜单 -> HP LoadRunner -> LoadRunner

VuGen启动02

VuGen启动03

点击: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:
4. Working directory:工作目录(默认即可)
5. Record into Action:录制脚本存放的计划名
    1). vuser_init:首先执行;迭代运行时候,只会运行一次
    2). Action:可迭代运行、可新增【选择】
    3). vuser_end:最后执行;迭代运行时候,只会运行一次
6. 点击OK -> 开始录制
2.5 脚本录制

WebTours

1. Recording...(xxx events):录制事件
2. 用户名:jojo 密码:bean
3. 点击Login
4. 点击Sign Off退出登录
5. 停止录制
6. 生成脚本

退出登录

WebTours

停止录制

WebTours

生成脚本

WebTours

2.6 运行(回放)脚本

验证录制脚本是否能正常运行

WebTours

1. 点击 Run 按钮
2. 快捷键:F5键

查看回放脚本的运行结果

WebTours

菜单(View) -> Test Results...

三、总结

1. 启动VuGen方式
2. 录制HTTP项目协议
3. 录制设置各选项含义
    1). Application type
    2). Program to record
    3). URL Address
    4). Working directory
    5). Record into Action
4. 如何运行脚本
5. 如何查看运行脚本的结果

VuGen-扩展(录制、回放)

目标

1. 了解录制模式和脚本类型
2. 了解 Run-time Settings(运行时设置)

一、录制选项-扩展

WebTours

1.1 录制设置Options选项

WebTours

  1. HTML-based script: 所有请求放到一个函数内(这里所有请求是指,每步操作所产生的请求)

  2. URL-based script: 每个请求放到一个函数

提示:

1). 基于浏览器的应用程序推荐使用 HTML-based script
 2). 不是基于浏览器的应用程序推荐使用 URL-based script
 3). 基于浏览器的应用程序中使用了 HTTPS 安全协议,使用 URL-based script 方式录制
1.2 HTML Advanced选项

WebTours

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 迭代次数

WebTours

提示:
    1. 迭代就是脚本要执行的次数
    2. Init 与 End 由于只会运行一次,迭代次数设置不会生效
2. Think Time 思考时间

WebTours

提示:
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 代表通过;

VuGen-手动编写脚本

目标

1. 掌握C语言的注释方法
2. 掌握基于LR手动编辑脚本的方法

首先科普下C语言中的注释;

1. //:单行注释  如://登录             
2. /**/:多行注释  如:/*多行    注释*/    

提示:
    1). Ctrl + Alt + C 为单行注释快捷键;
    2). Ctrl + Alt + U 为取消单行注释快捷键;

一、手动编写脚本

1.1 为什么要手写脚本
  1. 避免LR由于兼容性导致录制异常或失败;

  2. 手写脚本无冗余代码,更有利于脚本的增强(插入事务、参数化)和维护
1.2 手动编写脚本使用编写语言
  1. JAVA

  2. C语言【推荐】

提示:

1. LoadRunner中虽然默认是使用C语言录制/编写脚本,但我们无需专门去学C语言;
2. 只需注意下基础语法和掌握LR中常用的几个请求函数的用法就可以编写常用的脚本;
1.3 脚本请求 函数
  1. web_url()
  2. web_submit_data()
  3. 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= 
1). request name:标记请求名称,比如:首页
2). URL=
3). LAST结束标志;
1.3.2 web_submit_data()函数【重点】

默认设置是POST请求;也可以做GET请求。

语法:

web_submit_data(StepName, Action= <List of Attributes>, 
ITEMDATA,<List of data>, LAST); 
1). StepName:标记请求名称, 比如:登录
2). Action=
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 的登录脚本;

未完待续, 同学们请等待下一期

全套笔记资料代码移步: 前往gitee仓库查看

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~

标签:脚本,web,VuGen,请求,性能,录制,文档,测试,time
From: https://www.cnblogs.com/yinuo112/p/18077473

相关文章

  • perl 用 XML::LibXML DOM 解析 Freeplane.mm文件,生成测试用例.csv文件
    Freeplane是一款基于Java的开源软件,继承Freemind的思维导图工具软件,它扩展了知识管理功能,在Freemind上增加了一些额外的功能,比如数学公式、节点属性面板等。在云计算中,解析XML元素和属性是一种常见的操作,因为XML是一种常见的数据交换格式,可以用来表示各种不同的数据结......
  • easyDarwin 摄像头 推流 rtsp erwa.cn测试
     easyDarwin摄像头推流rtsperwa.cn测试注意延时:      erwa.cn二娃备忘 ......
  • 高性能的Wi-Fi&Bluetooth模块: FC21SDTEA-Q73、FC66EAAMD、FC66EABTA、FC66EAATA满足
    1、描述:FC21是一款高性能、高性价比的Wi-Fi&Bluetooth模块。其超紧凑的封装尺寸16.6mm×13.0mm×2.05mm,能最大限度地满足终端产品对小尺寸模块产品的需求,并帮助客户有效减小产品尺寸、优化产品成本。FC21模块采用SMT贴片技术,可靠性高,能满足复杂环境的应用需求。紧凑的LCC......
  • python接口自动化测试 —— unittest框架suite、runner详细使用
    testsuite测试套件,理解成测试用例集一系列的测试用例,或测试套件,理解成测试用例的集合和测试套件的集合当运行测试套件时,则运行里面添加的所有测试用例testrunner测试运行器用于执行和输出结果的组件testsuite、testrunner基础使用单元测试类1#创建单元测试类......
  • Scapy工具使用测试(一)
            结合调试开发板的前期需求,需要一个工具来完成发送指定信息报文的作用,几经搜索之下发现了较为强大的Spacy工具,在此对其进行相关功能测试。本测试的最终目的是能够使得开发板能够发送指定目的MAC及VLANID的数据包,并随着不同实验的进行可以按照计划发送大量符合......
  • 软件项目管理资料汇总(规格说明书、详细设计、测试计划、验收报告)
      前言:在软件开发过程中,文档资料是非常关键的一部分,它们帮助团队成员理解项目需求、设计、实施、测试、验收等各个环节,确保项目的顺利进行。以下是针对您提到的各个阶段的文档资料概述:所有资料获取:点击获取开发阶段需求规格说明书:详细描述了软件系统的功能需求、非功......
  • 软件测试 —— 案例系统缺陷报告
    知识:1、缺陷等级:1-Urgent(致命错误):影响全局的死机、通信中断、重要业务不能完成2-VeryHigh(严重错误):规定的功能没有实现或不完整或产生错误结果;使系统不稳定、或破坏数据等3-High(一般错误):不影响主要功能使用4-Middle(轻微错误):通常指界面拼写错误或用户使用不方便......
  • 攻击树测试
    攻击树测试攻击树测试用(你的学号%10)+1确定序号,完成下面的内容:1给如何偷汽车创建攻击树。在这道题以及其他攻击树的练习题中,可以通过图来描述攻击树,也可以使用一个编号的列表来描述攻击树(比如,1,1.1,1.2,1.2.1,1.2.2,1.3,…)。2给如何不付费进入体育馆创建攻击树。3给如何......
  • 酷睿Ultra 9 185h和i5-13500H选哪个好?参数性能区别对比
    i513500h采用10纳米制作工艺最高睿频4.7GHz十二核心十六线程三级缓存18MB热设计功耗(TDP)45W支持最大内存64GB内存类型DDR43200MHzDDR55200MHz集成显卡IntelIrisXeGraphics选Ultra9185h还是i5-13500H这些点很重要看过你就懂了http://www.adiannao.c......
  • C++性能分析工具
    gprof:这是一个GNU的性能分析工具,主要用于分析程序的函数调用关系,以及每个函数的运行时间等。Valgrind:这是一个用于内存调试、内存泄漏检测以及性能分析的开源工具集。其中,Valgrind的Callgrind工具可以收集程序运行时的函数调用信息,用于性能分析。perf:这是Linux下的一个性能分析......