Jmeter性能测试

JMeter断言

断言的概念
断言:让程序判断预期结果和实际结果是否一致。
提示:JMeter断言是在请求的返回层面增加一层判断机制,因为请求成功了,并不代表结果一定正确,因此需要检测机制提高测试准确性。

场景:
●请求: https://www. baidu.com
●检查:让程序检查响应数据中是否包含“百度一下,你就知道"
操作步骤:
1.添加线程组
2.添加HTTP请求
3.添加响应断言
4.添加断言结果
5.添加查看结果树
在这里插入图片描述在这里插入图片描述

响应断言参数

在这里插入图片描述

JSON断言

该组件用来对JSON文档进行验证,验证步骤如下:
1.首先解析JSON数据,如果数据不是JSON,则验证失败。
2.使用Jayway JsonPath 1.2.0中的语法搜索指定的路径。如果找不到路径,就会失败。
3.如果在文档中找到JSON路径,并且要求对期望值进行验证,那么它将执行验证操作。
添加方式:测试计划–>线程组–> HTTP请求–> (右键添加)断言–> JSON断言
场景:
●请求: http://www.weather.com.cn/data/sk/101010100 .html
●检查:让程序检查响应的JSON数据中,city对应的内容是否为“北京"
操作步骤:
1.添加线程组
2.添加HTTP请求
3.添加JSON断言
4.添加断言结果
5.添加查看结果树
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

断言持续时间:
客户端发送请求,到收到服务器的响应的时间,要求不超过指定的时间。

●请求: https://www.jd.com
●检查:让程序检查响应时间是否大于500毫秒

操作步骤:
1.添加线程组
2.添加HTTP请求
3.添加断言持续时间
4.添加断言结果
5.添加查看结果树
在这里插入图片描述
在这里插入图片描述

关联

当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。JMeter可以用一些组件来处理关联。

常用的关联方法:
●正则表达式提取器
●XPath提取器
●JSON提取器

当请求之间有依赖关系,-一个请求的入参,需要使用到之前请求的响应数据时,需要使用关联。
在这里插入图片描述
所有提供关联功能的元件都在后置处理器中:
●正则表达式提取器
●xpath提取器
●JSON提取器

正则表达式

正则表达式参数介绍:
在这里插入图片描述
模板:正则表达式可能匹配多组值,通过模板的编写来保存指定的值到变量中
在这里插入图片描述
在这里插入图片描述

正则表达式提取器

添加方式:测试计划–>线程组–> HTTP请求-> (右键添加)后置处理器–>正则表达式提取器
场景:
●请求: http://www.itcast.cn/,获取网页的title值
●请求: https://www .baidu.com/,把获取到的title作为请求参数

操作步骤:
1.添加线程组
2.添加HTTP请求-传智播客
3.添加正则表达式提取器
4.添加HTTP请求-百度
5.添加查看结果树

(1)请求: http://www.itcast.cn/,获取网页的title值
在这里插入图片描述
正则表达式提取:
在这里插入图片描述
添加HTTP请求—百度, 在参数中引用正则表达式提取器中定义的变量title:${title}
填写正则表达式:
在这里插入图片描述

引用:在这里插入图片描述
(2)请求: https://www .baidu.com/,把获取到的title作为请求参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加一个调试取样器:
在这里插入图片描述
在这里插入图片描述
引用:
在这里插入图片描述
运行,察看结果树:
在这里插入图片描述
在这里插入图片描述

XPath提取器

添加方式:测试计划
线程组–> HTTP请求–> (右键添加)后置处理器–> XPath提取器

场景:
●请求: http://www.itcast.cn/,获取网页的title值
●请求: https://www .baidu.com/,把获取到的title作为请求参数

操作步骤:
1.添加线程组
2.添加HTTP请求-传智播客
3.添加XPath提取器
4.添加HTTP请求-百度
5.添加查看结果树
在这里插入图片描述
(1)请求: http://www.itcast.cn/,获取网页的title值
在这里插入图片描述
在这里插入图片描述

JSON提取器

应用场景:适用于返回的数据类型为JSON格式的情况
在这里插入图片描述
场景:
1.请求获取天气的接口,http://www.weather.com.cn/data/sk/101010100 html
2.获取返回结果中的城市名称
3.请求: https://www. baidu.com/s?wd=北京,把获取到的城市名称作为请求参数

操作步骤:
1.添加线程组
2.添加HTTP请求-天气
3.添加JSON提取器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

跨线程组关联

在这里插入图片描述
跨线程组关联指的是多个请求之间有关联关系(即-一个请求的参数需要使用前面请求的响应), 但是两个请求不在一个线程组内,此时使用提取器无法完成关联,需要使用Imeter属性来完成数据的传递。

场景:
1.线程组1:请求获取天气的接口,http://www.weather.com.cn/data/sk/101010100.html
2.获取返回结果中的城市名称
3.线程组2:请求: https://www .baidu .com/s?wd=北京,把获取到的城市名称作为请求参数

操作步骤:
1.添加线程组1
2.添加HTTP请求-天气
3.添加JSON提取器
4.添加BeanShel取样器(将JSON提取器提取的值保存为Jmeter属性)
5.添加HTTP请求-百度(读取Jmeter属性)
6.添加查看结果树
在这里插入图片描述
在这里插入图片描述

复制生成的函数:在这里插入图片描述
粘贴到BeanShell取样器:
在这里插入图片描述
在这里插入图片描述
添加:
在这里插入图片描述
在这里插入图片描述
运行:
在这里插入图片描述
在这里插入图片描述

JMeter录制脚本

应用场景:
在没有接口文档的旧项目当中,快速录制web页面产生的http接口请求,帮助编写接口测试脚本。

代理服务器原理介:
代理服务器的原理主要拦截和转发请求与响应数据。
在这里插入图片描述
Jmeter在客户端和服务器之间做代理。收到所有的请求和响应数据后,Jmeter再进行逆向解析的动作,将数据报文转化为脚本。
在这里插入图片描述
设置代理:
在这里插入图片描述
在这里插入图片描述
过滤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Cookie管理器:
管理cookie:自动将cookie信息添加到后续的所有请求中。
在这里插入图片描述

JMeter直连数据库

场景:
1.连接tpshop商城数据库获取商品名包含:小米手机5的商品id

准备工作:

  1. 启动tpshop数据库服务器
    库名: tpshop2.0
    表名: tp_goods
    商品id字段: goods_id
    商品名字段: goods_name
  2. 添加MySQL驱动jar包
  3. 在测试计划面板点击“浏览…“按钮,将你的JDBC驱动添加进来
    在这里插入图片描述
    在测试计划面板点击“浏览…“按钮,将你的JDBC驱动添加进来:
    在这里插入图片描述

配置数据库连接信息:
添加方式:测试计划–>线程组–> (右键添加)配置元件–> JDBC Connection Configuration
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JDBC请求执行SQL语包

主要参数:
●Variable Name: mysq|数据库连接池名称(JDBC请求时要引用)
●Database URL: jdbc:mysq:/localhost:3306/tpshop2.0
。jdbc:mysql: ( MySQL固定格式)
。//127.0.0.1:(数据库ip地址)
。3306:(MySQL默认端口,如改变,请如实填写)
。books: 要连接的数据库名称
●JDBC DRIVER class: com.mysql.jdbc. Driver (MySQL驱动包位置固定格式)
●Username: root(连接数据库用户名,如实填写)
●Password: (MySQL 数据库密码,如实填写,如果密码为空不写)

操作步骤:
1.添加线程组
2.添加JDBC Connection Configuration
3.添加JDBC request
4.添加查看结果树
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

题目:
某支付系统,需要用1000个不同的用户登录,并使用不同的测试金额数据访问支付接口?

答案:
1、定义CSV数据文件,存放1000个不同的用户账号密码
2、添加线程组,将线程组的线程数设置为1000
3、添加CSV数据文件设置,读取CSV数据文件中的用户账号密码
4、添加HTTP请求(用户登录的请求),在请求中引用CSV数据文件设置中的用户账号、密码的参数
5、添加HTTP请求(支付请求),使用counter函数作为支付金额的参数
6、添加查看结果数观察结果

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值