百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Jmeter基础专题(三):脚本优化之参数化实现(7种方法)

bigegpt 2024-09-20 13:43 5 浏览

说到Jmeter,大家都知道是做接口测试和性能测试的一个工具。很多人脑中会浮现参数化、集合点、检查点等名词,前两篇已经介绍了Jmeter的入门操作,那今天我们就来看如何修改我们的脚本来实现参数化。

举例是我一贯的风格,之前举例截图中,Jmeter都是中文版的操作界面,但是小白根据我的文章进行搭建环境后,发现是英文版的。其实Jmeter自带语言转换功能。操作如下:

点击"Options"->"Choose Language"->"Chinese(Simplified)"

还有一种方法,在Jmeter的bin目录下,找到jmeter.properties文件,右键编辑如下图:

其中#language=en,#代表注释,language=en代表语言设置为英文。其实此时这个配置是不生效的,只不过Jmeter默认使用英文。我们可以把前面的#删除,使这项配置生效。把en改成zh_CN,就是把语言改成了中文。

推荐大家使用第二种方法,就是在配置文件jmeter.properties中修改。因为第一种方法是临时的,关闭Jmeter后再次打开,又变成了英文。而第二种方式是永久的。

言归正传,接下来我们就来谈谈参数化。参数化的方法有很多种,比如CSV Data Set Config、函数、计数器、用户定义变量等。我们就一个一个来练练手吧。

一、CSV Data Set Config

说到参数化,可能网上的一些教程只会告诉你CSV Data Set Config,但是我认为参数化一共有4类,这4类中常用的有7种。那么我们就先聊聊烂大街的方法CSV Data Set Config。还是以中信银行的基金搜索接口为例,在线程组鼠标右键选择"添加"->"配置元件"->"CSV Data Set Config"


1.文件名:可以输入参数文件的绝对路径或相对路径,参数文件可以保存在txt或csv文件里,比如D:\apache-jmeter-5.3\project\data.txt。若脚本文件和参数化的文件在同一个目录下,如下图:

那么CSV Data Set Config的文件名还可以输入相对路径,例如"data.txt"和"./data/data.csv"都是可以的。Jmeter5.3版本,我测试过,路径名输入正斜杠或反斜杠,都可以找到参数文件,大家再也不用担心斜杠输错了。

2.文件编码:大部分情况下都是UTF-8,如果出现中文乱码可以尝试下GBK。

3.变量名:接口请求时,引用这个参数化的变量名称,多个变量用英文逗号隔开

4.忽略首行:若参数文件的数据量较小,可以设置成FALSE。若较多建议设置成TRUE(实际上就是表头)

5.分隔符:参数文件里多个参数之间用分隔符隔开,默认情况下是英文逗号,但是如果你的参数带逗号比如第一个参数是"hello,we go",第二个参数是"你好,我们走",此时若使用默认分隔符,系统会认为有4个参数,第一个是hello第二个是we go,第三个是你好,第四个是我们走;这时要修改CSV Data Set Config里的分隔符,观察发现两个参数中都不含"==",所以我们可以把分隔符改成== ,分隔符如何设置全凭个人喜好,只要参数中没有这个符号即可。

后面4个不常用,使用默认配置就行了。

可以看到第三次请求调用的就是第三组的参数A和3。

二、用户定义变量

这次我们加一个接口,产品搜索接口,产品搜索界面如下。

用户定义变量有两个地方可以设置,第一个是测试计划、第二个是配置元件。首先看一下测试计划,点击测试计划节点,点击添加,输入变量名称和变量值,接口应用变量的方式和CSV一样,${key}

第二个配置元件,线程组鼠标右键"添加"->"配置元件"->"用户定义变量"

两者区别在于测试计划中设置的变量,是针对所有线程,所有请求的。而配置元件添加的用户定义变量,是根据他的上级节点决定的。若上级节点是线程,则只对这个线程起作用,若上级节点是请求,则只对这个请求起作用,若上级节点是测试计划,则对所有线程的所有请求都起作用。比如图中的配置元件,就只对"搜索有关的接口"这个线程组起作用。

这两个接口,都有一个搜索框,功能完全相同,所以这2个接口的文本框搜索字段,都输入${key},测试时,只要修改用户定义变量里的值,就可以了,不用去逐一修改每个接口。当接口多的时候,很方便。

……

※※因原作者要求,文章仅显示其中一部分,完整文章下载阅读,可以直接:关注+私信“文章”即可


Jmeter除了做接口测试,也是性能测试的常用工具。

性能测试可以说是所有自动化测试技术中涉及技术面最广、难度也最大的一个领域。

1、之所以说其涉及的知识面最广,是指性能测试不只是涉及到测试环节、同时还涉及到数据库、代码、网络、硬件、架构设计等多个领域。所谓难度最大是因为性能测试关注的测试类型非常多,除了我们常听说的压力测试、负载测试之外,还有容量测试、基准测试、可靠性测试、配置测试等等。

2、性能测试的指标也比普通的功能测试关注的验证点要多很多,有用户最关心的响应时间、错误率,还有企业最关心的服务器硬件资源利用率,以及工程师们关心的网络吞吐量、上传下载速率、TPS、HPS等等。而且性能故障的定位和调优不能只是依赖于性能测试工程师,必须要有团队的协作和配合才能够完成复杂的整体调优工作。

因为后台留言问性能测试的朋友很多,所以我们特地为大家开展了一次训练营:

此次训练营通过具体的性能测试项目实战,让大家快速体验到性能测试工作的基本工作流程,性能测试工具的使用以及性能测试工作过程中常见问题的解决思路及实践。通过训练营达到以下实践目标:

  1. 如何进行性能测试的准确规划?很多人对性能测试都有很多的误区理解,如果我们最初关于性能测试的目的理解有偏差或不准确的话,那么即使有很高深的技术也会造成工作的南辕北辙。
  2. 性能测试工作总体流程如何把控?在前期如何进行性能测试点的分析?如何落实到性能测试用例中进行明确?通过具体的性能测试任务进行前期准备工作的实践。
  3. 使用Jmeter工具快速开展性能测试执行。很多同学对于工具的掌握和学习往往需要很长时间才能上手,如何快速高效的掌握工具,快速地应用于具体工作中,这方面有很多的技巧和方法,与大家进行分享交流。
  4. 性能测试工作问题分析和解决。所有的工作都不会是一蹴而就的,在工作中会遇到各种各样的问题。如何进行动态验证码的验证,如何进行关联处理?这些都是性能测试中常见的技术问题,此次训练营和大家一同来快速分析解决这几个方面的技术问题,让大家在分析问题,思考问题的过程中,提升解决问题的能力。
  5. 性能测试工作需要具备哪些方面的能力,应该如何提升我们这方面的能力呢?帮助大家了解性能测试的工作全局,对性能测试有一个初步全局的认识。

为了保证课程训练营的内容质量,本次课程我们只限量开放200个名额,目前已报名100人。

参与方式:请关注+私信回复:“训练营”,获取本次Python接口自动化具体项目实战课程,参与人数众多,名额有限。

相关推荐

方差分析简介(方差分析通俗理解)

介绍方差分析(ANOVA,AnalysisofVariance)是一种广泛使用的统计方法,用于比较两个或多个组之间的均值。单因素方差分析是方差分析的一种变体,旨在检测三个或更多分类组的均值是否存在...

正如404页面所预示,猴子正成为断网元凶--吧嗒吧嗒真好吃

吧嗒吧嗒,绘图:MakiNaro你可以通过加热、冰冻、水淹、模塑、甚至压溃压力来使网络光缆硬化。但用猴子显然是不行的。光缆那新挤压成型的塑料外皮太尼玛诱人了,无法阻挡一场试吃盛宴的举行。印度政府正...

Python数据可视化:箱线图多种库画法

概念箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)...

多组独立(完全随机设计)样本秩和检验的SPSS操作教程及结果解读

作者/风仕在上一期,我们已经讲完了两组独立样本秩和检验的SPSS操作教程及结果解读,这期开始讲多组独立样本秩和检验,我们主要从多组独立样本秩和检验介绍、两组独立样本秩和检验使用条件及案例的SPSS操作...

方差分析 in R语言 and Excel(方差分析r语言例题)

今天来写一篇实际中比较实用的分析方法,方差分析。通过方差分析,我们可以确定组别之间的差异是否超出了由于随机因素引起的差异范围。方差分析分为单因素方差分析和多因素方差分析,这一篇先介绍一下单因素方差分析...

可视化:前端数据可视化插件大盘点 图表/图谱/地图/关系图

前端数据可视化插件大盘点图表/图谱/地图/关系图全有在大数据时代,很多时候我们需要在网页中显示数据统计报表,从而能很直观地了解数据的走向,开发人员很多时候需要使用图表来表现一些数据。随着Web技术的...

matplotlib 必知的 15 个图(matplotlib各种图)

施工专题,我已完成20篇,施工系列几乎覆盖Python完整技术栈,目标只总结实践中最实用的东西,直击问题本质,快速帮助读者们入门和进阶:1我的施工计划2数字专题3字符串专题4列表专题5流程控制专题6编...

R ggplot2常用图表绘制指南(ggplot2绘制折线图)

ggplot2是R语言中强大的数据可视化包,基于“图形语法”(GrammarofGraphics),通过分层方式构建图表。以下是常用图表命令的详细指南,涵盖基本语法、常见图表类型及示例,适合...

Python数据可视化:从Pandas基础到Seaborn高级应用

数据可视化是数据分析中不可或缺的一环,它能帮助我们直观理解数据模式和趋势。本文将全面介绍Python中最常用的三种可视化方法。Pandas内置绘图功能Pandas基于Matplotlib提供了简洁的绘...

Python 数据可视化常用命令备忘录

本文提供了一个全面的Python数据可视化备忘单,适用于探索性数据分析(EDA)。该备忘单涵盖了单变量分析、双变量分析、多变量分析、时间序列分析、文本数据分析、可视化定制以及保存与显示等内容。所...

统计图的种类(统计图的种类及特点图片)

统计图是利用几何图形或具体事物的形象和地图等形式来表现社会经济现象数量特征和数量关系的图形。以下是几种常见的统计图类型及其适用场景:1.条形图(BarChart)条形图是用矩形条的高度或长度来表示...

实测,大模型谁更懂数据可视化?(数据可视化和可视化分析的主要模型)

大家好,我是Ai学习的老章看论文时,经常看到漂亮的图表,很多不知道是用什么工具绘制的,或者很想复刻类似图表。实测,大模型LaTeX公式识别,出乎预料前文,我用Kimi、Qwen-3-235B...

通过AI提示词让Deepseek快速生成各种类型的图表制作

在数据分析和可视化领域,图表是传达信息的重要工具。然而,传统图表制作往往需要专业的软件和一定的技术知识。本文将介绍如何通过AI提示词,利用Deepseek快速生成各种类型的图表,包括柱状图、折线图、饼...

数据可视化:解析箱线图(box plot)

箱线图/盒须图(boxplot)是数据分布的图形表示,由五个摘要组成:最小值、第一四分位数(25th百分位数)、中位数、第三四分位数(75th百分位数)和最大值。箱子代表四分位距(IQR)。IQR是...

[seaborn] seaborn学习笔记1-箱形图Boxplot

1箱形图Boxplot(代码下载)Boxplot可能是最常见的图形类型之一。它能够很好表示数据中的分布规律。箱型图方框的末尾显示了上下四分位数。极线显示最高和最低值,不包括异常值。seaborn中...