Jmeter学习(二)

参考:https://www.bilibili.com/video/BV1nt411s78b?p=5

  • 性能测试案例
  • jmeter元件的作用域和执行顺序
  • 参数化
  • 参数化-C$V Date Set Config
  • 随机参数化

一:性能测试案例

被测网址:https://blog.csdn.net/weixin_42717928

指标:响应时间、错误率

步骤:

1:给测试计划添加线程组

2:给线程组添加Http请求(一般是这个)

名称:用于标识一个取样器

服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址

端口号:目标服务器的端口号,默认为80

协议:向目标服务器发送HTTP请求时的协议,可以是http或者https,默认是http

方法:发送http请求的方法,可用方法包括get、post、head、put、options、trace、delete等

路径:目标URL路径(不包括服务器地址和端口)

自动重定向:如果选中该选项,当发送http请求后得到的响应应是302/301时Jmeter自动重定向到新的页面

Use Keep Alive:jmeter和目标服务器之间是有keep-Alive方式进行HTTP通信,默认选中

Use multipart/from-data for HTTP POST:当发送HTTP POST请求时,使用Use multipart/from-data方法发送,默认不选中

同请求一起发送参数:在请求中发送URL参数,对于带参数的URL,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应url中的名称=值)

同请求一起发送文件:在请求中发送文件,通常,HTTP文件上传行为可以通过这种方式模拟

3:线程组设置

总共运行时间:5*10=50秒

调度器:可以灵活设置时间

4:查看结果树和聚合报告

点击运行,保存一下

运行后我发现请求全部错误

解决方法

再次运行后查看聚合报告

注意:时间单位是毫秒

Samples:样本,表示这次测试中一共发出了多少次请求

Average:平均相应时间,默认是单个Request的平均相应时间。当使用了Transaction Controller时,也可以Transaction为单位显示平均相应时长

Median:中位数,也就是50%用户的相应时长

90%Line:90%用户的相应时长

Min:访问页面的最小相应时长

Max:访问页面的最大相应时长

Error%:错误请求的数量/请求的总数

Throughput:默认情况下表示每秒完成的请求数,当使用了Transaction Controller时,也可以表示类似LR的Transaction per Second数

KB/Sec:每秒从服务器接收到的数量

注意:保存文件的后缀是jtl

还有一个问题,在jmeter运行都是累加的,可以清除全部

最后一个问题,如果只有一个请求,可以这样配置

也可以把查看树和报告放在博客下(可以拖动),实现效果是一样的,但是如果有多个http请求,那放置的位置就有说法了,这个后续讨论。

二:jmeter元件的作用域和执行顺序

元件的作用域

比如前置处理程序:新建后可以拖动,这个要放在请求之前

作用域可以从各个元件的层次结构判断每个元件的作用域

执行顺序:配置元件、前置、定时器、sampler、后置、断言、监听器

如果在同一个作用域范围内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执行

三:参数化

先建好这些

导入badboy录制的内容

我改一下名,搜索关键字,然后添加变量和用户,下面就是参数化列表

然后替换

跑起来后发现只有一个

解决方法:线程组的线程属性需要做修改,因为参数是两个,那么线程数可设置为2

再跑一次,没问题了

加个响应断言(相当于检查点)、断言结果、断言持续时间

这里要改一下,要跟着参数化去变化,能持续去匹配

如果断言结果像这样只有一行说明是成功的

像这样是不成功的

四:参数化-C$V Date Set Config

在D盘新建一个test.txt文件

禁用,不让之前的文件干扰这次的测试

运行后没问题

搜一下哈哈,也能搜出来

如果出现乱码,解决方法,配置utf-8或者gbk等

熟悉里面的内容

变量名称:多个变量可以引用同一个文件,用逗号分隔

分隔符:默认是逗号

五:随机参数化

打开函数助手对话框(旧版本的可能在选项里面)

 我这里复制不了。。。

猜你喜欢

转载自blog.csdn.net/weixin_42717928/article/details/106277367