Jmeter软件测试工程师进阶过程

06-接口测试-jmeter工具使用

2020-06-26  本文已影响0人  minisummer

哈喽,大家好!我是minisummer!首先感谢您的关注!
今天给大家分享的内容是接口测试必备的jmeter工具使用:测试计划的介绍,三大线程组,线程组八大组件:取样器,逻辑控制器,前置处理器,后置处理器,断言,定时器,配置元件及监听器。介绍了5种参数化方法,数据关联方法,数据断言方法,并发操作方法,数据库连接方法等内容。

Jmeter测试计划

测试计划是Jmeter的入口,是存放脚本的容器,一个脚本即是一个测试计划,用来描述一个性能测试,包含与本次性能测试所有相关的功能。
测试计划里可以添加线程(用户),配置文件、监听器、定时器、前置处理器,后置处理器,断言、测试片段,非测试元件等。
测试计划四要素
脚本中计划只能有一个;至少要有一个线程组;至少有一个采样器;至少有一个监听器。

jmeter界面介绍

线程(虚拟用户)

1.线程组
测试计划>添加>线程(用户)>线程组。

设置JMeter按照什么场景来运行(添加/Threads/线程组)。
JMeter使用一个Java线程来模拟一个用户,一个线程组就是一组虚拟用户(virtual users),相当于多个用户同时去执行相同的任务,这些虚拟用户用来模拟访问被测系统,每个线程之间都是隔离的,互不影响。

image.png
线程组8大组件

2.setup线程组
用于执行预测试操作,类似于LR 的init方法。

3.teardown线程组
用于执行测试后动作,类似于LR的end方法。

取样器—添加http请求

添加http请求:右击“线程组” > “添加” > “Sampler” > “HTTP请求”。

取样器是性能测试中向服务器发送请求,记录响应信息和响应时间的最小单元。

http取样器-get请求

监听器

右击“线程组” > “监听器” > “察看结果树”。

监听器是用来对测试结果数据进行处理和可视化展示的一系列元件,如图形结果、查看结果树、聚合报告、用表格查看结果等。

1).察看结果树:查看性能测试过程中请求和响应信息。

监听器-察看结果树

2)聚合报告

单位是毫秒,后缀是jtl


监听器-聚合报告

参数化(数据驱动)

数据驱动:从数据文件中读取测试数,驱动测试过程的测试方法。是更高级的参数化。

数据驱动特点:测试数据与测试代码分离;数据控制过程。

数据驱动优点:减少测试代码量;降低脚本开发与维护成本;便于用例的维护。

JMeter中参数化的五种方式

参数化引用:${参数名称}

参数化方法一:CSV数据文件设置

配置元件--CSV数据文件设置,用于提供对静态数据配置的支持。

右击“线程组” > “添加” > “配置元件”>“CSV数据文件设置”来设置参数化。

配置元件-CSV数据文件配置

注意:若启用了csv数据文件设置,但不设置参数化,在执行的时候会报错,没有运行结果。

参数化方法二:用户定义变量

线程组> “配置元件” > “用户定义变量”。

应用场景:当测试环境变化时,我们只需要修改一处的IP就可以让脚本马上应用于另外一个环境的测试。


配置元件-用户定义变量

参数化方法三:用户参数

线程组> “前置处理器” > “用户参数”。

前置处理器-用户参数

http请求默认值

线程组> “配置元件” > “HTTP请求默认值”。

配置元件-http请求默认值

参数化方法四:函数助手

tools > “函数助手对话框” > “__CSVRead”。

tools-函数助手-csvread

参数化方法五:数据库
jdbc驱动下载(maven仓库)

添加jdbc驱动的2种方法
mysql数据库连接 mysql数据库查询
引用参数

定时器

右击“线程组” > “添加” > “定时器” > “固定定时器”
右击“线程组” > “添加” > “定时器” > “高斯随机定时器”
定时器用于操作之间设置等待时间,类似于loadrunner的思考时间。

定时器-高斯随机定时器

断言

断言用于检查测试中得到的响应数据是否符合预期,一般用来设置检查点,用以保证性能性能测试过程中的数据交互是否与预期一致。

右击“线程组” > “添加” > “断言” > “响应断言”

有的时候,即使我们测试返回的response code为200,也不能保证该测试是正确的。响应断言:通过对比响应的内容来判断返回的页面是否是我们确定要返回的页面,或者判断请求是否成功,相当于loadrunner中的检查点。

断言-响应断言

随机数

右击“选项” > “函数助手对话框” > “__Random”

例如,在0-100之间取随机数。

tools-函数助手-随机数

后置处理器—正则表达式

右击“线程组” > “添加” > “后置处理器”> “正则表达式提取器”

后置处理器是用于对取样器发出请求后得到的服务器响应进行处理,类似loadrunner的关联函数。Jmeter是通过正则表达式提取器来获得数据。

Jmeter中的关联是使用正则表达式提取器来实现的,相对于loadrunner来说Jmeter的关联功能比较弱,只能在线程组内实现关联,不能跨线程组。


后置处理器-正则表达式提取器

后置处理器—JSON提取器

后置处理器-JSON提取器

后置处理器—Debug PostProcessor调试后置处理程序

用来调试查看后置处理器,提取数据的情况


后置处理器-调试后置处理程序

取样器—Debug Sampler调试取样器

作用同调试后置处理程序。


取样器-调试取样器

Bean Shell Sampler脚本取样器

右击“线程组” > “添加” > “Sampler” > “Bean Shell Sampler”

Beanshell脚本取样器-打印参数

增加cookie

创建 HTTP cookie 管理器:右键线程组-->添加-->配置元件-->HTTP cookie 管理器


配置元件-http cookie管理器

增加请求头headers

创建 HTTP 信息头管理器:右键线程组-->添加-->配置元件-->HTTP 信息头管理器


配置元件-http信息头管理器

增加集合点

增加 Synchronizing Timer:右键线程组-->添加-->定时器-->同步定时器
集合点:让所有请求在不满足条件的时候处于等待状态,从而达到并发效果。


定时器-同步定时器

请大家多多指教~
以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。
注:转载请注明出处,商用请征得作者本人同意,谢谢!!!

上一篇 下一篇

猜你喜欢

热点阅读