如何使用jmeter 进行自动化接口测试?从入门到实战,保姆级笔记

一.下载安装步骤

1.安装jdk:判断是否下载成功的依据,在终端输入java - version,有版本号即可

2.下载jmeter (老规矩,从CSDN 搜教程)

3.终端配置完环境变量后,输入jmeter回车,打开可视化工具 【不想配置的话,可以cd到jmeter的bin目录下,输入sh jmeter回车即可】

 

二.软件入门【基本架构】

1.测试计划下,添加线程组,线程组下方添加http请求

2.测试计划下,添加查看结果树

3.填写完http协议和域名后,保存脚本,点击上方绿色三角按钮,运行

4.在结果树中,查看结果

 

 

三.基础功能

1.断言

A.响应断言:【查看状态码是否为200,操作步骤如下】

在http请求下方添加响应断言,首行name填写断言名称,field to test下选择断言数据的类型,如:响应文本/响应状态码/响应数据…. 勾选响应状态码,在patterns to test下方添加断言预期结果:200,control+s保存后,点击运行,查看结果树,✅表示成功,❎表示断言失败。

如果要查看响应内容是否包含:百度一下,你就知道,则field to test选中响应文本,patterns to test下方添加断言预期结果:百度一下,你就知道

B.json断言:【查看city字段下的值是否为北京】 首先:创建基本架构:线程组-http请求-查看结果树;http请求下,创建json断言

第一步:http请求中,name和comments下输入断言名称和接口http://www.weather.com.cn/data/sk/101010100.html,path=/data/sk/101010100.html 完成后保存并运行,到结果树中把text修改为json jmespath tester,即为校验断言地址的地方。在jmespath expression 输入:$.weatherinfo.city,点击test,确认地址结果

第二步:复制断言的地址,在json assertion中,粘贴到assert json path exists处。勾选additionally assert Value,,在expected value处填写预期结果:北京

最后:保存后运行,查看结果树

 

 

2.参数化:

A: 简单参数化

请求:https://www.baidu.com:443

要求:使用参数化来定义配置:被测系统的协议,域名和端口号

解决办法:

首先:搭建基础架构 

其次:在测试计划下添加全局变量 点击add,添加自定义的变量名,后面的值填协议,域名,端口号 【全局变量,即在整个测试计划下,都可使用该变量】 【用法是:${变量名},例如${aaa},它的值为https】

最后:将http请求中的基础值,用自定义的参数来代替 【例如:http的位置填${aaa},server name的位置填${bbb},port number位置填${ccc}】

 

B:csv数据文件参数化【测试场景:测试登录接口,给你几个不同的数据,进行测试】

请求:https://www.baidu.com

要求:循环请求三次,每次请求时附带参数username,password,code

解决办法:首先添加线程组,定义数据文件,即在桌面text文本输入内容

其次 : 线程组设置循环次数:X。⚠️注意:循环次数依据text文本中,有几条数据,就定义为几次 测试计划下,添加配置元件【csv数据文件设置】,进行配置,配置顺序:文件路径>文件编码>变量名>是否忽略首行 添加http请求,填写基础项后,点击下方add添加名称username, password,code,值填:${aa} ${bb} ${cc}

最后保存,添加结果树,运行查看结果

 

 

 

3.联结提取器【将一个接口中的响应的信息,作为另一个接口请求的参数】

A.json提取器

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

操作步骤:

首先:添加线程组,线程组下方添加两个http请求,分别命名为:请求天气,百度。填写完对应请求信息后,保存。添加结果树运行,正确即可。

其次:在http请求下,添加后置处理器,add>post processors> json extractor 在json path位置添加正则表达式的位置【即天气接口下,北京在json中的位置】 在json path 上方填写自定义的变量名,例如【hahaha】;此时去北京http接口下,将wd的值更改为${hahaha}

最后保存运行,在结果树查看结果

B.正则提取器 :略

 

 

4.直连数据库

首先:添加mysql 驱动jar包【在测试计划面板点击浏览…按钮,将你的jdbc驱动添加—本脚本可用】【将mysql驱动jar包放入到jmeter文件夹下的lib/ext目录下,重启jmeter-所有脚本可用】

其次:配置数据库连接信息【数据库连接池名称pool【随便起】;数据库url(协议+数据库ip+数据库端口+连接的数据库名称=jdbc:mysqul://locahost:3306/数据库名称);数据库驱动包(下拉框选择com.mysql.jdbc.driver),数据库用户密码 添加jdbc请求【数据库连接池名称,query type ,sql语句】

最后保存运行,添加结果树查看结果【位置:测试计划下方>配置元件>jdbc connection configuration,线程组下方添加jdbc请求,添加结果树】

 

 

附:

可能遇到的问题:

1.响应数据乱码 在访达中找到jmeter.properties文件,搜索sampleresult.default.encoding,取消此行代码的注释,并修改此字段下的参数为UTF-8,保存后重启jmeter.

2.如果保存文件,如何导入文件 导入的方式:每次运行前,会先要求保存文件,然后才可以运行;当我们再次打开jmeter时,里面是空白的,点击菜单栏第三个黄色文件夹的icon,选择之前保存的文件,点击确定。即可导入。 保存的方式:点击菜单栏第四个icon或control+s

3.有多个断言时,如何查看结果 如果第一个断言失败,则后面的断言不会执行。查看结果树时,上面无论几个断言,最后结果树只会出现一个结果:成功/失败。

4.切换响应文本格式 在结果树中,将text选择为json或其他格式。

5.导入csv文件时,注意选对路径,要不然会报错

6.什么时候可以使用json提取器?响应数据是json格式时会用到

 

推荐视频:【2小时讲解Jmeter实现接口测试-哔哩哔哩】 https://b23.tv/GKhukLX

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值