JMeter做接口测试
1、首先在测试计划中添加一个线层组
选中“测试计划”鼠标右键“添加”➡️“Threads(Users)”➡️“线程组”
2、在线层组中可以添加各种请求,例如java请求、http请求等,其中java请求可以使用一些工具录制,例如Badboy
选中“线程组”鼠标右键“添加”➡️“Sampler”➡️“HTTP请求”
3、这里以http请求为例,页面中需要对以下地方注意
服务器名称或IP:就是服务器的域名或IP地址;
端口号:就是域名或者IP地址冒号后边的数字,如果没有就是默认端口号,即端口号为80
协议:选择http协议时,可以不填写协议;选择https协议,则填写:https。
方法:就是入参的类型,有get、post等类型。其中get请求的请求数据是在放在url里面的;post请求的数据是放在body里面的
路径:这个路径就是请求中端口号后边内容,如果遇到请求中有问号,那么路径就是端口号之后到问号之前的内容
参数有3种格式(Parameters、Body Data-josn格式、Files Upload-文件格式)
想知道参数Parameters和Body Data的区别请打开下边链接
https://blog.csdn.net/lluozh2015/article/details/51548243
4、以上内容填写好以后可以添加一个查看结果树,在执行脚本的时候可以记录日志,对于调脚本有很大的帮助,遇到问题要仔细查看“请求”中的内容是否是你想要发给服务器的,如果不是,就说明请求页面填写的信息不对,需要修改
选中“线程组”鼠标右键“添加”➡️“监听器”➡️“查看结果树”
小技巧:
jmeter查看结果树乱码
1)在jmeter的bin目录下找到jmeter.properties这个文件添加上:sampleresult.default.encoding=utf-8
2)重启jmeter
jmeter body data里面有乱码怎么解决
1)在jmeter的bin目录下找到jmeter.properties这个文件添加上jsyntaxtextarea.font.family=Hack
2)重启jmeter
5、对于有一些请求有依赖关系,需要从其它的请求中获取一些状态,例如登录状态、管理员权限等,则需要添加Cookie信息。Cookie就是存放在本地的一个键值对,以key-value形式存储,也叫本地缓存;当操作某些功能时就会比对Cookie中的键值对和Session中的键值对是否一致
选中“HTTP请求”鼠标右键“添加”➡️“配置元件”➡️“HTTP Cookie 管理器”
6、对于一些请求需要在http请求头信息中获取一些跳转地址的时候,就需要添加http信息头管理器,将请求头中的跳转地址或者方法写在管理器中。
选中“HTTP请求”鼠标右键“添加”➡️“配置元件”➡️“HTTP 信息头管理器”
HTTP请求信息由3部分组成:
(1)请求方法URI协议/版本:请求的第一行是“方法URL协议/版本”
(2)请求头(Request Header):包含许多有关的客户端环境和请求正文的有用信息
(3)请求正文:请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息等内容, HTTP请求正文可以包含更多的内容。
7、JMeter参数化常用3种方式
1)用户自定义的变量
选中“HTTP请求”鼠标右键“添加”➡️“配置元件”➡️“用户自定义变量”
2)使用函数助手对话框
点击“选项”➡️“函数助手对话框”打开函数助手
在“选择一个功能”选择函数类型,示例如下:
随机数函数,范围时1-99之间的随机数
时间函数,
yyyyMMddHHmmDD-时间的格式,以当前时间的年月日时分秒为参数
时间格式为空直接“生成”,取得值就是jmeter当前时间的时间戳,精确到毫秒
以上参数化应用如下图
3)上传参数化文件
选中“HTTP请求”鼠标右键“添加”➡️“配置元件”➡️“CSV Data Set Config”
引用如下图
8、JMeter关联常用2种方式
1)正则表达式
选中“HTTP请求”鼠标右键“添加”➡️“后置处理器”➡️“正则表达式提取器”
2)用Json Path Extractor 插件关联
此方法需要安装插件,安装步骤可以参考-http://www.nnzhp.cn/archives/322
安装好后选中“HTTP请求”鼠标右键“添加”➡️“后置处理器”➡️“jp@gc-JOSN Path Extractor”
9、JMeter链接数据库
首先需要JDBC Connection Configuration
选中“线程组”鼠标右键“添加”➡️“配置元件”➡️“JDBC Connection Configuration”,添加好后需要针对数据库的类型进行配置
配置JDBC Connection Configuration,如下图所示:
1)Varible Name: 这个是变量的名字,也就是说不能重复,
2) JDBC URL: jdbc:mysql://192.168.0.1:3306/idmdb ,其中 192.168.0.1:3306:这个数据库的地址和端口号; idmdb,这个是测试的数据库名。
3) Driver Class :org.gjt.mm.mysql.Driver 或者 com.mysql.jdbc.Driver 这是固定值
4) Username:这个数据库的登录名
5) password: 这个是数据库的登录密码
添加JDBC request
右键点击“线程组”,在下面添加一个“JDBC request”,其中variable name名称必须与jdbc配置相同,如下图所示:
针对不同的数据库有不同的配置方法,参考下面地址:
https://blog.csdn.net/amoscn/article/details/74991924