·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入门的更多相关文章

  1. 性能测试基础---jmeter函数二次开发

    Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...

  2. 性能测试基础---jmeter webservice接口测试

    ·webservice接口测试实现.·SOA:面向服务的体系架构,主要为了应对大型系统的异构需求.典型的实现方式:webservice·微服务:为了对SOA这样的重服务架构进行解耦而存在的.一个or几 ...

  3. 性能测试基础---jmeter参数化、关联、事物、检查的等

    ·Jmeter脚本增强·性能测试的脚本增强技术:参数化.关联.事务.检查点.思考时间和集合点. ·参数化:在Jmeter中,实现参数化的方式很多.本质上来说,参数化的实现方式有两种:·文件方式:一般建 ...

  4. 性能测试基础---jmeter二次开发

    ·Jmeter的二次开发,常见的有以下几种类型: ·扩展.修改Jmeter已有的组件(源代码) ·扩展.修改Jmeter已有的函数. ·完全自主开发一个新的组件(依赖于Jmeter提供的框架). ·扩 ...

  5. 性能测试基础---jmeter基础

    ·Jmeter的脚本构成: Jmeter的脚本是由很多不同的组件构成,在Jmeter中,组件可以分为以下几类: ·测试计划: 是默认存在的组件,所有的Jmeter的组件都是依赖于测试计划的. 在这个组 ...

  6. 1. APP移动端性能测试基础知识入门

    本博客要点 生命周期 堆和栈 垃圾回收 adb命令 Activity的生命周期

  7. JMeter性能测试基础 (1) - 安装及简单使用

    Apache JMeter是一款开源性能测试工具,全部功能使用Java编写,可用于进行性能测试.JMeter最初被设计用于Web应用测试,之后被扩展至多个测试领域. Apache jmeter 可以用 ...

  8. 性能测试工具JMeter 基础(六)—— 测试元件: 线程组

    线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...

  9. 性能测试工具JMeter

    JMeter介绍     Apache JMeter是Apache组织的开放源代码项目,具有极高的可扩展性,是一个100%纯Java桌面应用,用于压力/性能测试.JMeter可以用于测试静态或者动态资 ...

随机推荐

  1. 原生js拖拽、jQuery拖拽、vue自定义指令拖拽

    原生js拖拽: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  2. 支持TV远程控制的WIN10PEX64_17763网络版by双心

    支持TV远程控制的WIN10PEX64_17763网络版by双心 用slore大神的wimbuilder2,基于cn_windows_10_enterprise_ltsc_2019_x64_dvd_9 ...

  3. [LeetCode] 52. N-Queens II N皇后问题之二

    The n-queens puzzle is the problem of placing nqueens on an n×n chessboard such that no two queens a ...

  4. java ++前缀

    public class Sample { public static void main(String[] args) { , num2 = ; , num4 = ; ++num1; System. ...

  5. 用欧拉计划学习Rust编程(第13~16题)

    最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,所以先补一下Rust的基础知识.学习了一段时间,发现Rust的学习曲线非常陡峭,不过仍有快速入门的办法. 学习任何一项技能最怕没有 ...

  6. 【MySQL】MariaDB10.2新特性--Flashback

    MariaDB10.2新特性--Flashback Flashback可以回滚到旧的数据,用于解决用户误删除数据的问题. 实战例子 MariaDB [zsd]> select * from te ...

  7. Docker修改已创建容器端口映射

    修改已创建容器端口映射. 通过编辑 hostconfig.json 文件来修改 Docker 容器的端口映射 该文件地址:/var/lib/docker/containers/[hash_of_the ...

  8. IScroll Unable to preventDefault inside passive event listener due to target being treated as passive

    最近两天企业微信下IScroll突然无法滚动了,特别慢,之前好好的,发现主要是有红色的Unable to preventDefault inside passive event listener du ...

  9. 我自己收藏的 Windows 上好用的软件

    已经在使用的工具就不会列出来了. 1. 截图 - Snipaste 截图在我们的生活中,可以算的上是非常频繁的操作了,但是很多人是不是都在使用腾讯聊天软件的聊天截图功能,或许是没有一款称心的.安全的截 ...

  10. 用itemloader提取,清洗数据的技巧

    def parse_item(self, response): item_loader = NewItemLoader(NewItem(), response) item_loader.add_xpa ...