JMeter的使用

JMeter的使用

1.测试计划

image-20230816114358618

image-20230816114501196

image-20230816114637763

2.线程组

image-20230816121246207

3.取样器-http请求

  • post请求,参数是表单

image-20230816144923042

  • post请求,参数是json数据

image-20230816150444138

4.配置元件-用户定义的变量

image-20230816152032269

5.配置元件-http请求默认值

image-20230816150841370

6.配置元件-CSV数据文件设置(实现参数化)

  • 数据文件与脚本分离

image-20230816151508605

7.前置处理器-用户参数(实现参数化)

  • 数据与脚本不分离

image-20230816152606350

8.函数-计数器

image-20230816153523495

9.函数-随机数

image-20230816153715762

10.函数-时间

image-20230816154137599

11.直连数据库

1.导入MySQL驱动包(下载地址进入官网https://dev.mysql.com/downloads/connector/j/,选择:Platform Independent。点击Download)

image-20230816155057397

2.添加配置元件JDBC Connection Configuration

image-20230816162344950

3.添加JDBC request请求(数据库请求)

image-20230816162703832

4.添加取样器,内容默认就行

image-20230816162722580

5.使用数据

image-20230816162818663

image-20230816163024538

备注:上面变量名写错 应该是username_5 和 password_5

12.断言

  • 响应文本断言

image-20230816163950903

  • JSON断言

1.名称
断言的名称,根据需要按自己的命名规范填写即可

2.注释
断言的注释,根据需要按自己的规范填写即可

3.Assert JSON Path exists:
用于断言的JSON元素的路径(JSONPath)及字段值

4.Additionally assert value
是否额外验证:根据JSONPath提取的值是否正确
a. 不勾选。则:验证JSONPath能否在JSON文档中匹配到路径
b. 勾选。则:验证根据JSONPath提取值是否符合预期

5.Match as regular expression
预期值是否可以使用正则表达式
a. 不勾选。预期值:不能使用正则表达式表示
b. 勾选。预期值:可以使用正则表达式表示

6.Expected Value:
填写提取字段的预期值

7.Expect null
若验证提取的值为null,则勾选此项
这里有两个地方需要额外注意:
a. 验证null值,还是需要勾选“Additionally assert value”,否则验证的是JSONPath能否匹配到路径
b. 预期值不填表示空字符,与null不等价

8.Invert assertion(will fail if above conditions met)
若勾选,表示对断言结果取反

9.注意:
除了null外,还有一种特殊的值,就是空数组,预期值不能不填,需要设置为:[],表示空数组。

image-20230816165826352

13.if逻辑控制器

image-20230816170653926

14.foreach控制器

image-20230816172018931

14.循环控制器

image-20230816172136670

14.事务控制器

统计性能测试结果一定会关注TPS,TPS表示每秒处理事务数,JMeter默认每个事务对应一个请求。我们可以用逻辑控制器中的事务控制器将多个请求统计为一个事务。

image-20230816173419037

image-20230816173434361

15.include控制器

用于脚本的重用,调用测试片段

1.写好一个http请求,保存为测试片段

2.另一个脚本里使用include控制器调用刚才保存好的测试片段

image-20230816174242993

16.cookie管理器

1.添加http cookie管理器

2.登录请求

3.登录后的其他请求

image-20230816175002329

17.关联接口

上一个接口的结果作为下一个接口的条件

  • 后置处理器-xpath提取器

image-20230816180033404

  • 正则提取器

image-20230817113248209

  • JSON提取器

image-20230817114331921

json路径写法

{
    "store": {
        "book": [
            {
                "category": "reference",
                "author": "Nigel Rees",
                "title": "Sayings of the Century",
                "price": 8.95
            },
            {
                "category": "fiction",
                "author": "Evelyn Waugh",
                "title": "Sword of Honour",
                "price": 12.99
            },
            {
                "category": "fiction",
                "author": "Herman Melville",
                "title": "Moby Dick",
                "isbn": "0-553-21311-3",
                "price": 8.99
            },
            {
                "category": "fiction",
                "author": "J. R. R. Tolkien",
                "title": "The Lord of the Rings",
                "isbn": "0-395-19395-8",
                "price": 22.99
            }
        ],
        "bicycle": {
            "color": "red",
            "price": 19.95
        }
    },
    "expensive": 10
}
JsonPath				结果
$.store.book[*].author	表示所有书籍的作者。
$..author				表示所有作者
$.store.*				所有东西--所有书籍和自行车。
$.store..price			所有东西的价格
$..book[2]				第三本书
$..book[-2]				倒数第二本书
$..book[0,1]			索引为0和索引为1的两本书
$..book[:2]				索引为0到2(不含2)的所有书籍
$..book[1:2]			索引为1到2(不含2)的所有书籍
$..book[-2:]			最后两本书
$..book[2:]				索引为2及其往后的所有书籍。
$..book[?(@.isbn)]		携带isbn号的所有书籍 an ISBN number
$.store.book[?(@.price < 10)]			商店中价格低于10的所有书籍。
$..book[?(@.price <= $['expensive'])]	所有非 "expensive"的书籍
$..book[?(@.author =~ /.*REES/i)]		所有匹配正则表达式(忽略大小写)的书籍
$..*									返回所有东西
$..book.length()						书籍数量

18.跨线程组传值

1.测试计划-勾选独立运行每个线程组(顺序执行)

2.设置全局变量

image-20230817115912083

3.beanshell取样器让变量生效

image-20230817120021627

4.另一个线程组使用

image-20230817120212110

19.同步计时器(集合点,高并发)

线程集合到一起然后同一刻发送请求

image-20230817122002714

20.思考时间(固定定时器,高斯随机定时器)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值