
jmeter
spring_cloudy
这个作者很懒,什么都没留下…
展开
-
jmeter学习之路---25-最后总结
上节记录的是digest函数,这节想做为最后一节来处理,那就是对于属性的认识(当然还有很多其他的东西没有记录下来,以后有遇到我在阐述记录啦)jmeter的属性,那么首先怎么查看jmeter的固有属性呢?在测试计划上右键,添加,非测试元件,属性显示,就你查看了。1、读取属性使用property函数来读取设置中的属性他有三个参数,第一个属性名称(必填),第二个其他请求读取该属性的变量名,第三个默认值,如果该函数读取的属性没有值,我们通过第三个参数来设置该属性的默认值。仅设置一个参数设置2个参原创 2021-09-29 10:18:53 · 116 阅读 · 0 评论 -
jmeter的学习之路---24--digest函数
上节记录的是函数助手中使用随机函数和随机字符串以及随机日期。昨天在写jmeter脚本时候,发现登录功能中密码这个参数是加密之后的传参,所以这个也需要先加密,那么jmeter怎么使用MD5加密呢?使用digest进行加密算法,其中有5个参数,第一使用什么加密算法(必填),第二待加密的字符串(必填),第三翻译过来叫盐值,不知道干什么的,第四加密之后转大写,第五是调用该变量的变量名。常用的算法加密我只知道MD5。所以这里就使用MD5来做一个演示。在自定义变量中使用加密算法查看结果树看看是不是加密了。原创 2021-09-29 09:21:36 · 559 阅读 · 0 评论 -
jmeter学习之路---23---函数助手(Random,RandomDate,RandomString)
上节课记录的是断言,主要是JSON断言和响应断言。现在这节记录一下函数助手功能。也可以通过在tool工具栏上选择函数助手对话框打开比如设置随机数的方法,在选项框中选择Random,然后设置随机数的范围(左右都能取到),点击生成就能查看到生成的随机数。在拷贝并粘贴函数字符串中的表达式,可用于在自定义变量或者其他位置需要使用随机数。比如我在天气请求中使用。先在自定义变量中使用该函数在请求中调用该字段擦好看结果发现这个字段使用到了以上只是使用函数助手生成的一个函数罢了,他还能生成很多其他的原创 2021-09-28 09:46:10 · 573 阅读 · 0 评论 -
jmeter学习之路---22---JSON断言和响应断言
到目前为止,控制器讲了很多了,有if控制器,简单控制器,仅一次控制器,事务控制器,循环控制器,随机控制器,随机顺序控制器,ForEach控制器,Switch控制器,Runtime控制器,吞吐量控制器这些,还有几个控制器没有记录,那是因为感觉使用比较少。然后前面还有记录2个最常用的请求器,和一些配置元件以及前置后置处理器。现在来说说断言吧。—Json断言,响应断言设置了断言,如果断言失败就会在查看结果树中显示红色,如果是绿色代表断言成功。1、JSON断言举例:发现可以请求成功。如果修改Json表原创 2021-09-27 09:20:01 · 499 阅读 · 0 评论 -
jmeter学习之路---21
上节记录的是ForEach和switch控制器,这节课来说说最后想说的两个控制器吧,那就是Runtime控制器和吞吐量控制器。1.runtime控制器,控制请求的运行时间。发送一次这个天气请求大概是1秒,可能实际运行都不需要1秒(因为这里最少显示1秒)。如果设置时间为5,那会发生什么呢那就是会在5秒内连续发送请求,直到5秒到达。如上图,可见5秒内发送了10多个请求。以上案例都是在循环一次的情况。作为测试,我们可以思考一下,如果增加了循环次数或者线程数,这个运行时间会不会加倍呢,答案是会的。原创 2021-09-26 19:44:44 · 134 阅读 · 0 评论 -
jmeter学习之路---20
上节课记录的是随机控制器和随机顺序控制器,这节课来了解ForEach控制器和switch控制器。1、这个控制器效果如下图:上图中输出变量名称含义指经过该控制器处理,该控制器内的请求使用处理过的变量的名称。具体可以怎样使用这个控制器呢?在我看来,使用该控制器需要我们与用户自定义变量搭配。比如某个接口需要自定义一个变量name来用于控制循环。嗯,上面说的好像很无语。具体想到的一个例子是这样,比如我们在做接口测试时候,接口请求参数中有个字段名字叫countryid。它有四种类型分别为1,2,3,4。那原创 2021-09-26 15:15:52 · 100 阅读 · 0 评论 -
jmeter学习之路---19
上节记录的是循环控制器,相对来说跟编程语言中循环的定义是一样的,同时还有一个while循环,while循环是在控制器中写入条件,如果为True就继续执行。也是一样的使用方式,这里就补记录喽。这节课记录的是随机控制器和随机顺序控制器的使用。1、随机控制器:我们在随机控制器下设置3个请求,那么随机控制器会随机抽取一个请求进行。如果我们勾选忽略子控制器模块,效果会是怎么样呢?为了展示这种效果,我们还需要在随机控制器下新增一个子控制器,那就创建一个简单控制器吧,简单控制器下存在2个请求,如下所示:原创 2021-09-26 09:56:31 · 83 阅读 · 0 评论 -
jmeter学习之路---18
从上面图中可以看出,控制器种类繁多,大部分还是使用不到。所有记录几个常用的就可以了。上节记录的是事务控制器,现在看看循环控制器。线程组中设置1个线程1次循环。循环控制器中设置循环2次,查看结果树看看显示什么。可以发现,因为控制器下有2个请求接口,然后循环设置2次,所有会产生4个请求。正如查看结果树显示的一样,所以正确了。2、如果将线程组中设置2次循环呢,其他不变。这里先将一个请求禁用掉。发现会有4次请求,也跟我们设想的是一样的。因此线程组中有2次循环,而循环控制器中也设置的是2循.原创 2021-09-26 09:27:50 · 81 阅读 · 0 评论 -
jmeter学习之路---17
上节课记录了简单控制器和仅一次控制器,这节课来一点事务控制器,这个东西在工作中我还没使用到。所以这里简单说一下哈。据我了解,事务控制器是控制请求时间的一个作用,先看看下面例子。1、事务控制器什么都不选。我们在上面设置了一个事务控制器,先不勾选任何选项,然后往其中其中添加2个请求。同时为了查看相应时间,我们还需添加一个聚合报告用来查看每次请求的时间。在不勾选任何选项时候,我们发现上面这样一个规律,事务请求的时间等于所有请求时间和。2、事务控制器勾选第一个选项。查看结果如下:即勾选了将原创 2021-09-26 09:10:42 · 126 阅读 · 0 评论 -
jmeter学习之路---16
上节记录的是if控制器,那这节记录一下简单控制器和仅一次控制器1、如果你要说简单控制器有什么作用,我可以负责任的告诉你,这个控制器负责美观的效果,没看错就是这么简单。从上图可以发现,我们在每个简单控制器下,都添加了一个请求,那么他就是控制请求在一个片段中。那么在实际工作中我们是否会使用到呢,看情况吧,比如你的脚本中是根据业务流程步骤来实现,那么你可以将一部分具体步骤放置在一个简单控制器中实现。2、仅一次控制器,在这个控制器下面,仅执行一次。设置了2个线程,每线程循环2次,而且测试计划中有2个原创 2021-09-24 16:38:17 · 83 阅读 · 0 评论 -
jmeter学习之路---15
上节记录的是cookie管理器的使用,在工作中只要我们简单使用即可,写接口脚本中无需多加注意。这节讲述一下if控制器。下面我们继续天气单接口进行if控制器的使用。使用表达式来做判断,表达式可以是数字或者字符等判断这里需要注意一下,如果仅使用表达式做判断,我们不能勾选将条件解释为变量表达式这个选框,否则不执行,只有使用__jexl3和__groovy时候勾选。使用字符串做判断:使用__jexl3()做判断:需要勾选选框将条件选为变量表达式使用__groovy()做判断:需要勾选选框将条原创 2021-09-24 09:36:50 · 168 阅读 · 0 评论 -
jmeter的学习之路---14
上一节记录的是JDBC请求中的一些内容补充,这节划划水,简单说一下cookie管理器。1、HTTP cookie管理器的使用:我们只需要在测试计划中,将这个管理器添加,那么在该线程组中后续的接口如果需要使用cookie,那么会自动带入。注意上面面板中,如果增加了cookie管理器,cookie并不会存储到管理器中,相当于无形。你只能在后面的查看结果树中看到是否可以查看到cookie。2、计数器的使用:现在来看个例子:例子1:上面线程组中设置循环次数3,而计数器中设置的2查看结果发现,原创 2021-09-23 17:30:10 · 88 阅读 · 0 评论 -
jmeter学习之路---13
上节记录的是正则表达式提取器和JSON提取器,在我看来我讲的已经够我使用了,所以就没有去学习更高级的用法。这节说一下JDBC请求中的一些其他事,前面也有一篇说过JDBC请求和连接。前面处理的事select语句执行,但是有时候我们还可能需要往数据库中插入数据。这样我们又该怎么执行呢?jiashe...原创 2021-09-23 15:06:18 · 91 阅读 · 0 评论 -
jmeter学习之路---12
上一节记录的是用户定义的变量,这节课开始提取器的讲述—JSON提取器和正则提取器1、JSON提取器:在写的脚本中,我们不会是简单的单接口,往往存在接口依赖的联系,所以需要从上个接口获取一些数据传递到下一个接口。而在jmeter中我们经常使用的就是JSON提取器来获取数据从而传递下去。上图中有个字段没解释,说明一下,Match No.表示我们取提取到的值中的第几个,0表示随机,-1表示全部,1表示第一个等等。什么时候会使用到这个位置呢,当我们接口返回的数据是有多个重复的内容,这样使用-1的用处就开始了原创 2021-09-23 11:43:15 · 107 阅读 · 2 评论 -
jmeter的学习之路---11
上节记录的是用户自定义的变量。这节课记录前置处理器中的用户参数功能。这个用户参数跟上一节使用的是相同的功能使用。但也有一些差别。用户参数一般放置在线程组下设置,当然也可以在其他地方设置,这里我们都是走正常的场景位置。在线程组下添加一个用户参数,设置随机数展示。同样为了使用这个参数appid,我们需要在请求中通过${appid}获取。查看结果如下,我们总共2个请求,设置了每个请求循环2次,所以总共会发送4个请求。从上面的图我们可以发现,这个用户参数功能中参数的值是随机数,并非如上节中固定值哦原创 2021-09-22 15:33:13 · 257 阅读 · 1 评论 -
jmeter学习之路---10
上节记录的是HTTP信息头管理器和HTTP请求默认参数两个功能的学习,这节记录一下用户自定义的变量功能器使用。看下图这个界面,用户自定义的变量跟HTTP请求默认值中参数设置是重复的,其实还是有点区别存在。我们先按照上述样式设置一下天气请求接口的appid参数,让他取随机数。然后通过HTTP请求中${name}去调用这个参数。发送请求查看一下是不是拿的这个参数,从下图可以看出,参数获取正常。我在测试计划中设置了2个线程,循环2次,这边有2个请求。所以总共会有8次请求出现。我们细看这8次请求的参数原创 2021-09-22 15:02:12 · 108 阅读 · 0 评论 -
jmeter学习之路---09
上一节课记录了HTTP请求的get/post方式,然后还有JDBC请求以及连接操作。这节课那就记录一下HTTP请求默认值和HTTP信息头管理1、HTTP请求默认值:从上面图中可以看到,HTTP请求默认值跟HTTP请求样式是一样的。那么他的作用是什么呢?首先从界面上我们可以发现,他就是将一些重复需要使用的HTTP请求的一些参数、协议、host、端口、编码等将其放置在里面。这样避免了在该线程组或者线程组的子孙级下面重复输入。其次HTTP请求默认值也需要跟放置的位置有关,也就是说优先级有关。比如说放置原创 2021-09-22 11:43:50 · 127 阅读 · 0 评论 -
jmeter学习之路---08
前面巴拉巴拉的7章,我自己回顾都觉得写的稀巴烂,我也不知道自己写的是什么东东,于是决定做实践操作,从各种取样器、控制器等东西一个个讲,当然都是一些工作中常用的,对于冷门的取样器啥的我自己也不会哈。这节课主要涉及到HTTP请求,JDBC Connection Configuration,以及JDBC请求三个的使用。1、从前面所知,每一个jmeter脚本都是一个测试计划,且据我认知,一个脚本中有且仅有一个测试计划。在新建的测试计划面板中,我们默认不需要修改什么配置信息,保持默认即可。2、新建线程组,在原创 2021-09-18 17:21:05 · 99 阅读 · 0 评论 -
jmeter学习之路---07
前面说了一下配置元件的使用,跟配置元件类似的还有逻辑控制器,他是控制请求的发生时机。比如我们有登录或者注册接口,这种接口往往在执行过程中只会执行一次,那么我们可以将其放置在一个逻辑控制器中,让其仅执行一次。此外还存在一个叫做监听器的家伙,他是用来处理监听结果的,并将其展示。我们在脚本编写过程中,一般都是使用查看结果树。据说这些监听器的使用都是一样的功能,只是在展示的效果用不同的方式展现出来。监听器我们一般是加在测试计划中,其实还可以放在各给位置。比如放在某个具体的线程组中,也可以放在某个请求下。放原创 2021-09-15 09:15:20 · 100 阅读 · 0 评论 -
jmeter学习之路---06
上一节我们学习了使用jmeter发送单个接口get请求,发送单个接口post请求也类似。那个只是接口测试脚本中的一丢皮毛,因为用jmeter写的脚本不可能是单接口的,往往都有依赖关系。所以在学习多借口依赖测试前,我们学习一下控制器–取样器和逻辑控制器。其中取样器负责用于发送请求;而逻辑控制器用于控制取样器的进行条件。取样器有很多种类型,但是在我的工作中,使用到的往往是HTTP请求和JDBC请求,一个用于发送http请求并处理响应结果,一个用于处理从数据库中筛选条件(需要在前面添加一个配置原件-JDBC原创 2021-09-15 09:13:37 · 92 阅读 · 0 评论 -
jmeter的学习之路---05
前面讲了这么多,都没有真正开始执行一个接口的请求,这次无论如何都要执行一个get请求了。我去网上查找了一下,有很多免费的接口,需要我们注册账号(使用邮箱注册),就可以获得好多次免费的请求次数。点击下面给的链接,进去注册,获取接口需要的appid和密钥。https://www.tianqiapi.com/index/doc在上节课中创建的线程组中,右键添加一个HTTP请求。在生成的HTTP请求中,将我们注册的账号中,查找一个接口,填入请求方式,请求路径等。在下面的请求参数中,我们可以勾选请求参原创 2021-09-15 07:31:15 · 95 阅读 · 0 评论 -
jmeter学习之路---04
在上节课的基础上,我们使用了测试计划,现在我们通过执行一个get请求,来学习线程组的概念。线程组:首先学习如何添加线程组。在我看来,线程组是每个脚本的开始,所有的测试计划都在一个线程组下进行。在线程组中我们设置线程数和循环次数来控制jmeter对测试计划执行的次数(总共发送的请求数)。在设定的线程组中规定的线程数,每个线程数都相互独立,互补干扰,这样用来执行对访问的服务器进行并发测试。上图中Ramp-Up时间表示预期我们定义的线程组中,设置的线程数以及循环次数在多少时间内执行完毕。我们既要避免设置原创 2021-09-15 07:28:11 · 128 阅读 · 0 评论 -
jmeter的学习之路---03
面板介绍—主要是我在使用过程中经常用的,对于不太使用或者没接触过的不介绍了。如果只是我们需要使用jmeter进行编写一系列接口脚本,其实不太需要懂太多上面按钮的含义,因为大部分都是使用右键即可创建各种东西。在上面的选项框中,我们大部分使用就是如下所示的三个位置。我们在编写脚本,第一件事是打开jmeter,然后在测试计划中新建线程组。那么测试计划中有什么东西呢。如下所示,但是我不太会在测试计划中写入什么东西。现在来说说测试计划的事情了,顾名思义,测试计划就是一个脚本的计划规则,或者说将要执行过程原创 2021-09-08 19:21:43 · 108 阅读 · 0 评论 -
jmeter的学习之路---02
这章是为了方便不太懂英语的使用技巧,将jmeter界面设置为中文。想要汉化jmeter很简单我们找到安装路径下的bin目录(我的是“D:\hy\jmeter\apache-jmeter-5.4.1\bin”)。是不是很熟悉这个bin目录,他就是在上一节我们说启动jmeter的时候进入的目录。找到《jmeter.properties》这个文件夹,然后用记事本或者文字编辑器打开,进入搜索(快捷键ctrl+f),将如下这个东西搜索出来《language=en》,并将en改为zh_CN,即《language=翻译 2021-09-07 09:11:56 · 93 阅读 · 0 评论 -
jmeter的学习之路---01
开启新篇章,系统学习jmeter的使用,主要是在写接口脚本。学习一个东西首先是去下载安装。点击访问官网我喜欢下载zip格式的文件,然后直接在文件夹中将其解压就可以使用。(下边安装的是最新版jmeter)下载好之后,我们选定一个自己喜欢的磁盘并解压到当前目录。点进去发现里面有好多好多东西,我们启动jmeter是在bin目录下在bin目录中,找到jmeter.bat或者jmeterwindows批处理文件此外我们还可以将bin路径加入到path环境变量中。我的位置是(D:\hy\jmete原创 2021-09-06 19:06:16 · 177 阅读 · 0 评论