首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

1小时带你学习Jmeter接口测试

1.什么是Jmeter?Jmeter是Apache组织使用JAVA语言开发的一款开源的性能测试工具。进入Jmeter官网下载即可。

2.为什么要学习Jmeter?

成本:jmeter是开源的,Loadrunner是商用的.

易用性:Jmeter是不如Loadrunner.

性能:Jmeter也是不如Loadrunner.

扩展性:Jmeter是开源,可以根据自身需要去做二次开发.

目前市面上,在性能测试领域,Jmeter所占的比重越来越大.

在接口自动化领域,很多大公司也选择Jmeter来完成相关的测试工作

优点:

简单快速、生成的脚本简洁(类似于LR中的HTML模式)。

缺点:

只能用于B/S架构的产品因为内置浏览的内核问题,可能会因为内核的兼容性问题导致无法录制。

3.Jmeter一般应用于那些场景?

Jmeter一般用来做接口测试与性能测试,可以基于B/S架构软件开展接口测试与性能测试,当然Jmeter也可以用户APP端的接口测试,前提条件是手机端网络与PC端要一致,也可以使用Jmeter抓取移动端数据包,当然抓包工具有很多,一般常用的是Fiddler是一款专业的抓包工具。

4.Jmeter的安装和使用

进入Jmeter官网下载解压即可。配置好Java环境变量:

5. Jmeter的目录结构详解:

bin目录:存放的是Jmeter的主jar包,启动脚本、配置文件等。

ApacheJmeter.jar:Jmeter这个java工程的主类,包含整个工程的main方法。

meter.bat\Jmeter.sh:Jmeter的启动脚本,可以右键--编辑,通过记事本打开之后,修改相关的启动参数,最主要的是JVM参数--JVM内存大小:set HEAP=-Xms1024m -Xmx1024m

jmeter-server.bat:是用来实现联机负载(分布式负载)的组件,是需要在负载机上启动的,作用类似于LR中的Load generator。

jmeter.properties:是Jmeter的主配置文件,Jmeter中绝大多数需要配置的选项都是在该文件中完成。

注意:修改配置文件之后,一般都是需要重启应用才会有效的。

docs目录:存放的是Jmeter的官方的API文档。

extras目录:附加目录,存放的主要是Jmeter和ant集成所需要的文件。

·ant-jmeter-1.1.1.jar:ant和jmeter集成所需要的类

·build.xml:构建文件的模板。

jmeter-results-detail-report_21.xsl:报告模板

6. lib目录:

该目录是Jmeter启动时的默认的classpath,这就意味着在测试过程中,所有需要import的类都需要放在lib目录下,否则就会找不到对应的类。

以后二次开发过程中,所有需要import的类,都需要打成jar包放在该目录下。

lib\ext目录:该目录是用来存放Jmeter的组件和插件的。通常自己开发或者外部下载的插件都需要放在该目录下。

printable_docs目录:该目录存放的是jmeter的官方帮助文档。

7.Jmeter的脚本开发:

通常来说,使用Jmeter来完成接口或者性能测试时,脚本的生成方式有三种:

通过第三方工具录制生成,例如:比较常用的录制工具包括:badboy、Blazemeter。

Badboy:本身是一款用于web应用的自动化测试工具,我们只是使用它的录制和导出功能。

注意事项:

录制完毕之后,不要直接保存,而是通过File--Export to Jmeter选项将脚本导出为Jmeter格式的脚本。

使用Jmeter打开脚本之后,所有的Step相关的组件都至少要执行一次下列操作:

右键组件--Change Controller--逻辑控制器,选择某一种逻辑控制器。建议在不确定的情况下,选择简单控制器。

Blazemeter:是一款可以和Chrome浏览器集成的插件,是可以用来录制和运行脚本的。下载和安装插件,需要注册帐号的。

8.通过Jmeter自带的http代理服务器录制生成

第一步:右键 测试计划--添加 Threads--线程组 组件。

第二步:右键 测试计划--添加 配置元件--http cookie管理器 组件。

第三步:右键 工作台--添加 非测试元件--http proxy server(http代理服务器) 组件。

以上三步没有先后之分。

第四步:配置并且启动http代理。

目标控制器:是用来指定生成的脚本的存放位置,建议选择第一步所创建的线程组组件。

过滤器(包含模式或者排除模式):都是通过正则表达式来实现。

注意事项:

1:代理服务器的设置选项一定要正确。

2:客户端一旦启用代理,则所有操作都有可能被录制,因此要尽可能的保证在录制过程中,没有其他的互联网操作。

3:过滤选项一定要慎重使用,可以不用,但是一旦使用,则必须保证正则表达式的正确性、准确性。

4:不要通过localhost和127.0.0.1这样的地址去访问被测服务器。

一般来说,实际工作环境不会遇到这样的问题,主要多见于自己搭建的练习环境。

5:录制完成之后,一定要记得还原相关选项(不然手机会没有网络)。

优点:

录制过程可控适用于任何类型的产品,只需要支持代理访问即可。

缺点:

1. 操作和设置比较繁琐

2. 对于https的支持不是很好,主要是因为生成的根证书是临时证书,像chrome浏览器都不支持。

3. 抓包手写:一般来说,该方式是适合于所有的接口和性能测试工具

4. 但是要使用这种方式,要求有三点:

5. 掌握协议:这是抓包手写的最主要的要求。

6.掌握一个对应的抓包工具:通过工具才能抓到想要模拟的数据请求包。

7.掌握接口和性能测试工具:要结合协议和所抓取的数据包,将之封装为对应可以运行的脚本或者代码。

8.录制和抓包手写本身不存在鄙视链,一切以效率优先。

9. 录制脚本的本质:录制本身还是抓包和解包、生成脚本的过程。(类同于自动化测试过程)。

想了解更多精彩内容,欢迎关注Kitty讲测试,可第一时间获取最新学习、教育相关知识!Kitty坚持每天更新好的学习资料及高效的学习理念与方法,人生苦短,求学之路任重道远,让我们携手并进,一起努力迎接美好明天!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200803A049N300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券