性能测试基础---jmeter入门
·Jmeter入门
·Jmeter的简介:
·Jmeter是一款基于纯JAVA语言开发的开源的性能测试工具。
·Jmeter的下载:
·最新版:http://jmeter.apache.org/download_jmeter.cgi
·历史版本:https://archive.apache.org/dist/jmeter/binaries/
PS:如果是windows下使用,则下载zip压缩包,如果linux平台使用,则下载tgz。
·安装和使用:
Jmeter是基于java的应用,所以需要有java环境。
·JDK的安装和配置:
·Java的版本,一般来说下载se的版本,然后版本号只需要和Jmeter的要求匹配。
·环境变量的配置
需要配置的环境变量有两个:
·JAVA_HOME:值就是java的安装路径,不包含bin目录。
·PATH变量:是修改而不是新建,将“%JAVA_HOME%\bin;”加入到path变量的最前面。
PS:通过java -version和javac -version进行检测即可。
要保证java和javac的版本的一致性。
·Jmeter的目录介绍
·bin目录:该目录存放了jmeter的主jar包,启动脚本,配置文件。并且该目录是jmeter默认的日志存放目录。
·ApacheJmeter.jar:这是jmeter的主jar包(主类所在的包),可以通过java命令直接启动该jar包达到启动运行jmeter的效果。
·Jmeter.bat/Jmeter.sh:这是官方给的Jmeter的启动脚本,然后右键编辑,是可以设置jmeter启动时的一些JVM参数的。
set HEAP=-Xms1024m -Xmx1024m
set METASPACE=-XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M
PS:一般来说,metaspace 256M就够用,最多给到512M。
Xms和Xmx的值保持一致,建议不要超过物理内存的50%,通常为物理内存最大值的25%即可。
·Jmeter-server.bat/jmeter-server:是Jmeter的联机负载所需要的服务启动脚本。
·Jmeter.properties:该文件是Jmeter的主配置文件。jmeter超过80%以上的配置都是在该文件中完成。
PS:配置文件修改,需要重启jmeter才会生效。
·docs目录:该目录下存放的是jmeter官方的API文档。
·extras目录:该目录存放的是jmeter和其它应用集成所需要的一些文件。主要是jmeter和ant集成所需的文件。
·lib目录:该目录是jmeter启动时的默认的classpath路径。这就意味着在使用jmeter进行测试的过程中,任何需要做import操作的类,都必须以jar包的形式存在于lib目录下。
PS:一旦lib目录下的jar包发生改变,则需要重启jmeter才能有效。
·lib\ext目录:该目录是jmeter用来存放组件、第三方组件和插件的目录。
通常来说我们下载的组件和插件、自定义的组件和插件都需要放在该目录。
·printable_docs目录:该目录下存放的是jmeter官方的使用帮助文档。
·Jmeter的脚本生成:
Jmeter的脚本生成方式很多,但是可以分为三类:
·第三方工具录制。
常用的工具有两种:badboy、blazemeter。
·badboy是基于内置的浏览器来进行录制的。
·缺陷:因为内置浏览器的内核是IE的内核,所以可能会因为浏览器的兼容性导致无法使用badboy进行录制。
录制的脚本在jmeter打开时,一定要对step组件执行一次下列操作:
右键step组件--change controller--逻辑控制器,选择简单控制器。
·blazemeter是提供了chrome浏览器的插件,可以在chrome浏览器中直接录制。
·自带的http代理服务器方式录制。
·代理服务器录制操作详解:
第一步:右键测试计划,添加组件--Threads(Users)--线程组
第二步:右键测试计划,添加组件--配置元件--http cookie管理器。
第三步:右键工作台,添加非测试元件--http代理服务器。
PS:以上三步没有先后之分。
第四步:配置http代理服务器组件,并且启动。
配置项:
·端口:要求在当前机器中没有被占用即可。
检测命令:netstat -an
netstat -an|findstr "端口号"
·目标控制器:选择第一步所添加的线程组。作用是将录制的脚本存放在指定的控制器中,即放在线程组中。
·过滤器的使用:
第五步:设置客户端,使得其通过代理服务器访问被测服务器。
·客户端可能是PC,也可能是移动设备。
如果是pc,则通过windows下的internet选项设置代理。
internet选项--连接--局域网设置,勾选为Lan使用代理服务器。
地址:填写Jmeter所在的机器的IP。
端口:填写Jmeter代理服务器所设置的端口号。
如果是移动设备,则要求移动设备和Jmeter所在的机器在同一个局域网内。(WLAN)
在WLAN高级选项中设置代理。地址和端口同上。
PS:如果要录制的应用使用了https协议的话,则需要将jmeter生成的根证书安装在客户端机器上。
第六步:停止录制,还原客户端代理设置,停止http代理服务器。
·抓包手写。
该方式是能够适用任何情况下的脚本开发。但是要求测试人员具备以下素质:
·熟悉通信协议。
·掌握至少一种抓包工具。
·熟练掌握至少一种封包工具。
性能测试基础---jmeter入门的更多相关文章
- 性能测试基础---jmeter函数二次开发
Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...
- 性能测试基础---jmeter webservice接口测试
·webservice接口测试实现.·SOA:面向服务的体系架构,主要为了应对大型系统的异构需求.典型的实现方式:webservice·微服务:为了对SOA这样的重服务架构进行解耦而存在的.一个or几 ...
- 性能测试基础---jmeter参数化、关联、事物、检查的等
·Jmeter脚本增强·性能测试的脚本增强技术:参数化.关联.事务.检查点.思考时间和集合点. ·参数化:在Jmeter中,实现参数化的方式很多.本质上来说,参数化的实现方式有两种:·文件方式:一般建 ...
- 性能测试基础---jmeter二次开发
·Jmeter的二次开发,常见的有以下几种类型: ·扩展.修改Jmeter已有的组件(源代码) ·扩展.修改Jmeter已有的函数. ·完全自主开发一个新的组件(依赖于Jmeter提供的框架). ·扩 ...
- 性能测试基础---jmeter基础
·Jmeter的脚本构成: Jmeter的脚本是由很多不同的组件构成,在Jmeter中,组件可以分为以下几类: ·测试计划: 是默认存在的组件,所有的Jmeter的组件都是依赖于测试计划的. 在这个组 ...
- 1. APP移动端性能测试基础知识入门
本博客要点 生命周期 堆和栈 垃圾回收 adb命令 Activity的生命周期
- JMeter性能测试基础 (1) - 安装及简单使用
Apache JMeter是一款开源性能测试工具,全部功能使用Java编写,可用于进行性能测试.JMeter最初被设计用于Web应用测试,之后被扩展至多个测试领域. Apache jmeter 可以用 ...
- 性能测试工具JMeter 基础(六)—— 测试元件: 线程组
线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...
- 性能测试工具JMeter
JMeter介绍 Apache JMeter是Apache组织的开放源代码项目,具有极高的可扩展性,是一个100%纯Java桌面应用,用于压力/性能测试.JMeter可以用于测试静态或者动态资 ...
随机推荐
- SQL Server 迁移数据库 (一)导入和导出
今天正好换服务器,记录一下迁移数据库的过程. 以前经常用备份还原法,今天试试‘SQL Server 2016 导入和导出数据’这个看怎么玩. 1. 建数据库结构 1.1 在需要迁移的数据库名字上右击, ...
- docker--发布docker镜像
前戏 前面我们自己做了个docker镜像,我们可以上传到docker hub,别人就可以下载使用了 发布到docker hub 我们前面使用docker search 查找的镜像都是从docker h ...
- [BJOI2019]奥术神杖(AC自动机,DP,分数规划)
题目大意: 给出一个长度 $n$ 的字符串 $T$,只由数字和点组成.你可以把每个点替换成一个任意的数字.再给出 $m$ 个数字串 $S_i$,第 $i$ 个权值为 $t_i$. 对于一个替换方案,这 ...
- [LeetCode] 58. Length of Last Word 求末尾单词的长度
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...
- 《30天自制操作系统》笔记3 --- (Day2 上节)完全解析文件系统
Day2 汇编语言学习与Makefile入门 本文仅带着思路,研究源码里关于文件系统的参数 关于day2主程序部分及更多内容,请看<30天自制操作系统>笔记 导航 发现学习中的变化 源码差 ...
- uni-app调用支付宝、微信支付
项目中要用到支付功能,现在来看支付宝.微信应该是必选的两个方式了. uni-app 文档中要求:APP端 微信 和 支付宝的 orderInfo 必须是 字符串. 调用支付宝时,支付宝直接返回的 or ...
- SpringBootThymeleaf案例
一.添加依赖 <!-- 添加thymeleaf模版的依赖 --> <dependency> <groupId>org.springframework.boot< ...
- React Hooks 深入系列
本文基于近段时间对 hooks 碎片化的理解作一次简单梳理, 个人博客.同时欢迎关注基于 hooks 构建的 UI 组件库 -- snake-design. 在 class 已经融入 React 生态 ...
- Rollup 配置 es6 环境
前 为了可以使用新型的语法,顺便在兼容下老的浏览器,所以需要自己搭建个环境,目前我个人推崇使用 rollup,主要喜欢它的 tree-shake,打包出来的代码真的很简洁. 配置 rollup.con ...
- 仓库服务端软件artifactory
https://blog.csdn.net/ZYC88888/article/details/88298904 https://www.jianshu.com/p/a0f55548fddd