前言
当你变的优秀时,你想要的都会来找你。
今晚公开课给大家分享测试技术方面的东西,jmeter关联实现以及参数化实现,有缺这块知识或者想了解的,晚上8:00进公开课。
一、Jmeter介绍
- 一款融合接口、性能都能完成的测试工具
- 纯JAVA开发的工具
- 开源工具
- 支持多种协议
- 应该是测试业界目前应用最多的工具之一
二、接口执行实现
- 添加HTTP取样器:右击测试计划--新建并右击线程组--添加--取样器--新增HTTP请求
- 在HTTP请求元件中添加相应请求信息(请求行、请求头、请求正文)
- 添加察看结果树:右击线程组--添加--监听器--新增察看结果树
- 保存刚设置的接口脚本,点击执行
三、关联实现
3.1 关联的概念
关联也称为串行传参或数据依赖,即上一个接口返回的内容的部分值作为下一个接口运行的参数的过程。
3.2 关联的实现步骤
- 在jmeter中录入A、B两个接口的信息(A为上一个接口、B为下一个接口,方便下面描述)
- 右击 A 接口的取样器 -- 添加 -- 后置处理器 -- 正则表达式提取器
- 在正则表达式提取器设置截取B接口所需要的参数信息,参数名假定为token
- 进入 B 接口的取样器,把需要填入A接口参数的地方用 ${token} 来替换
备注:如果返回的响应正文是json数据,还可以使用JSON提取器
正则表达式提取器界面操作介绍:
JSON提取器界面操作介绍:
四、参数化实现
参数化是为了让相同的模块、方法使用不同的参数进行测试,达到提高测试覆盖率的目的,jmeter实现参数化的方式很多,常用的方式有:
用户定义的变量实现
函数助手对话框的部分函数实现
依次进入--tools菜单--函数助手对话框,部分函数举例如下:
${__machineIP()}函数:
${__Random()}函数:
${__RandomDate()}函数:
${__RandomString()}函数:
利用csv文件实现
CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据,jmeter使用csv文件也可以来进行参数化。
通过右击线程组--添加--配置文件--csv数据文件设置,界面如下:
五:总结
- 关联和参数化是jmeter必备技能之一,必须掌握
- 关联可以扩展到实现一些常见的业务场景,比如随机对商品下单、随机选择选项等
- 进行分布式性能测试的时候,csv文件注意保持每台独立
- 参数化这一块还可以调用数据库数据、利用Bean shell取样器写java代码来实现等