接口测试——postman和Jemter(只有基础使用配置)

这篇具有很好参考价值的文章主要介绍了接口测试——postman和Jemter(只有基础使用配置)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

postman

  • postman是一个调用HTTP请求时的工具,它提供了友好的界面帮助分析,构造http请求,并分析响应数据
  • 实际工作过程中,开发和测试基本上都有使用postman来进行接口调用调试工作
  • 有一些其他流程的工具,也是模仿的postman的风格进行接口测试工具设计的

postman工作原理

  • postman近似一个浏览器,他可以模拟浏览器,app等原生客户端向服务器发送请求,并获取接口的响应数据
  • 具体的示例图如下:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

postman入门

  • postman的安装
    • 官网下载postman,双击安装postman得安装包即可
      • 双击后自动安装,安装完成之后就会转圈圈
      • 首次进入,会有注册账号的页面,可以不注册任何账号,点击最下方的“Skip and go to the app”即可。或者关掉注册页面重新打开postman也可以
      • 进入主界面左侧的几个模块
        • Collections:用例集;
        • APIS:使用postman工具来生成接口文档
        • Environments:环境变量
        • Mock Sever:用postman进行Mock服务
        • Monitors:监控
        • History:历史记录
    • 添加用例集/请求的方式:
      • 点击+ 或者选择File——new,如下图:
        使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

postman的基础用法

  • postman能够按照接口文档的规定,设置接口的请求方法、请求头和请求体来完成请求数据的构造

  • 然后查看响应数据,完成响应数据的测试

  • GET请求方法,设置请求信息
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • Param中,headers表单,为请求头设置的地方,截图相见下方
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 非GET请求方式下,请求体的设置,重点需要掌握表单请求体和raw方式
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • raw中设置表单信息的话,使用的是字典/json数据

  • 查看服务器的响应数据
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 用法总结:

    • 根据接口文档,提取请求方法、UR L、请求头、请求体、依次输入请求信息,然后发送请求,查看响应数据
    • 对比响应数据中的参数和接口文档是否一致,参数值和需求规定的业务逻辑是否一致
    • url encode表单请求数据,需要设置url查询参数和请求体数据
    • application/json请求数据
    • multipart/form-data上传文件
    • 查看响应数据
    • 需要采用的数据类型,由公司开发部门规定

postman的高级用法

使用postman管理测试用例

  • postman可以使用自带的用力集管理测试用例(Collection)
  • Collection:类似于一个文件系统,下面可以添加文件、子文件、请求等
  • 与操作系统的文件系统不同的是,他是postman内部的模拟文件系统,并不是真的文件存储系统
  • 添加步骤:
    • 第一步:添加用例集
    • 第二步:用例集下面添加子文件
    • 第三步:添加请求
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 在工作中,如果有多个接口或者接口的测试用例,都可以通过request来进行管理
  • 如果是业务场景测试或者模块,可以用文件夹或者用例集来管理

批量执行测试用例

  • 作用:自动执行编写好的测试用例,实现自动化接口测试

  • postman可以使用自带的collection Runner(用例集运行器)来批量运行测试用例

  • 操作步骤如下图:collection ——Runs——Run collection
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 点击之后,出现以下界面,可设置用例集的运行信息
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 导入外部文件的数据,一般适用于使用外部的数据来实现用例参数化的情况,这种情况下必须倒入外部参数信息

  • data 下面的“Advanced settings”展开后,有四个选项,默认可以不配置,如下图:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 点击Run用例集合运行测试用例,即可批量运行测试用例,运行结果如下:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 增加断言的路径为:api接口中的Tests选项的tab下

  • 注意:断言设置之后,一定要保存
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 设置完之后,重新执行测试用例,步骤和测试结果如下:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 执行完成之后,左键点击api名称(添加任务)即可看到请求的详细信息,如下图示:

  • 备注:如果在创建用例集时,没有选择保存响应数据(Save reponses),是不会有下图中的响应数据的
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 在上传图片时,如果上传图片的空间与postman的工作空间不一致,可能会导致程序运行失败,因此,需要在设置中将poatman的工作空间进行调整,位置如下:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 单个接口设置test之后请求,可以在下图中查看执行结果
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

postman断言

  • 为了进行自动化测试,我们必须让计算机帮助我们判断实际结果与预期结果是否一致
  • 可以通过断言,来让计算机运行时,帮助我们判断结果
  • 断言:计算机自动判断两组数据关系是否为真时的过程
  • 以下为各种断言的代码示例,其实在postman得test的右侧,选择响应的断言之后可直接生成
//以下断言中,test括起来的是断言描述信息 
//{}中pm开头的是断言代码,代码中的预期结果可以修改
pm.test("断言:响应码等于200", function () {
    pm.response.to.have.status(200);//200为预期结果
});
pm.test("断言:响应体字符串存在tassk_id", function () {
    pm.expect(pm.response.text()).to.include("task_id");//task_id为预期结果
});
pm.test("断言:code等于0-", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.mes).to.eql("任务创建成功");//任务创建成功为预期结果
});
pm.test("多级断言:url是……", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.data.url).to.eql("https://video.weibo.com/show?fid=1034:4745151529287713");//url为预期结果
});
pm.test("断言:响应时间小于500ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(500);
});
pm.test("断言:响应体数据", function () {
    pm.response.to.have.body("response_body_string");
});//response_body_string要填写返回的json信息,在这里跳过
pm.test("断言:响应头是否存在Content-Type", function () {
    pm.response.to.have.header("Content-Type");//也可以断言响应头中的其他信息,修改即可
    pm.response.to.have.header("X-Forwarded-Proto","https");//断言某个请求头参数的数值
});
  • 执行结果如下:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

环境变量和全局变量

  • postman提供GUI界面的变量管理窗口,可以管理全局变量和环境变量

  • 全局变量:整个postman都能使用的变量

  • 环境变量:选中环境之后,才会全局生效的变量

    • 环境变量的作用:可以通过变量进行参数话,方便集中管理测试数据,同时化境变量还可以起到快速切换环境的作用
  • postman界面对于变量的管理主要分为2大块,UI界面数据块和代码块,位置详见下图

    • UI界面数据有:URL、Params、Authorization、Headers、Body,即下图中画框的部分可以使用界面环境变量
    • 代码块:Pre-request-scripts
    • Tests
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • UI界面使用数据块的方式:引用变量方法:{{变量名}}

  • 代码块引用变量的方法,环境变量需要选择环境变量之后才能使用:

pm.globals.get("variable_key");//设置全局变量参数名
pm.globals.set("variable_key", "variable_value");//给全局变量的参数赋值
pm.environment.set("variable_key", "variable_value");//设置环境变量的参数名
pm.environment.get("variable_key");//给环境变量的参数赋值
//上面代码中variable_key为变量名,variable_value为变量值
  • 设置环境变量的位置,左侧Environments,点击之后点击Creat Environment即可,或者点击已存在的Global,即可进入设置环境的界面
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 设置界面如下图示例:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 在设置环境变量时,环境变量的优先级比全局变量的优先级高

  • 当环境变量和全局变量的参数名完全相同时,优先使用环境变量设置的参数信息

  • 环境变量一般情况下使用的场景有两种

    • 1.替换api请求中的参数值(因为不同环境使用的参数不同,例如手机号)
    • 2.替换api请求中的域名(因为不同环境使用的域名不同)
  • api参数使用环境变量的步骤

    • 按照业务逻辑,先使用postman调用api的接口,所需信息使用后抓包或者接口文档获得
    • 设置环境变量
      • 对于测试api中,所有接口都使用的参数,放在Globals中(poatman)中
      • 对于api接口自己使用的参数,例如域名(各个接口的不一致),需要放在自己创建的环境中
      • 环境变量中,参数自己定义,不必要和接口文档保持一致,因为可能存在不同接口,参数相同的情况
        使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
    • 用环境变量中的变量替换api中请求体的数据
    • 发送请求,对比结果
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • api调用时,请求域名的参数化
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

postman关联

  • 关联:将多个接口联系起来的技术,就是关联
  • 本质上就是关联数据,例如可以将上一个接口返回的部分响应数据,当作下一个接口的入参数据
  • 关联的作用:解决接口之间的依赖关系和决定接口执行的顺序,关联多个接口,实现接口的组合测试,常用于业务场景
  • 操作步骤:
    • 调用上一个接口
    • 在Tests中,编写提取上一个接口响应数据和保存数据至全局变量的代码,代码如下:
//提取json格式的响应数据
var jsonData = pm.response.json()
// 提取返回信息中的参数信息
var task_id= jsonData.data.task_id
//将提取出来的参数保存到全局变量
//第一个参数是全局变量的参数名,第二个参数时参数值
pm.globals.set("task_id",task_id)
//也可以将提取出来的图片保存到环境变量
//pm.environment.set("task_id",task_id)
    • 调用前一个接口,将环上一个环境的参数添加进环境变量中
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
    • 在下一个接口中引用保存的数据,并发送请求
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

postman请求前置脚本

  • postman请求前置脚本:发送请求之前要执行的脚本
    • 客户发出请求之后,其余的都是在postman内部执行
    • postman内部要做的事情时:执行前置脚本,构造和发送请求数据,处理响应数据(断言)
  • 请求前置脚本的作用:和代码一样,js可以做的事情,postman也能做
  • js可以构造测试数据,设计接口请求,设计执行流程等等
  • 请求前置脚本常见的作用:用来获取动态数据,签名接口数据,加密数据
    • 动态数据:时间戳,随机数
    • 对整个接口数据签名:防止数据被篡改
    • 加密数据:防止数据被偷窥
  • 请求前置脚本的位置:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 加密代码如下:
//设置生成注册加密密码的代码
varsuth_code = "TPSHOP"+"123456";
var signedMds = CryptoJS.MD5(auth_code).toString();
console.log(signedMds);
//保存生成的MD5123456的验证码
pm.globals.set("signed",signedMds);
  • 代码编写之后,需要对参数进行修改,主要针对密码和确认密码

postman参数化及生成测试报告

参数化与数据驱动

  • 参数化,把数据用参数来替代,从而进行测试的过程。参数化是实现数据驱动测试的前置技术
  • 数据驱动:将测试数据和测试脚本分离,用数据来驱动测试用例的执行,简单的说,就是一条数据对应一条测试用例
  • postman实现数据驱动——支持的文件
    • json,小规模测试用例,json可嵌套数据
      • postman支持的json数据文件中,json数据文件的内容中,最外层必须使用中括号(列表)
      • 中括号中的每一组数据必须是大括号(字典),逗号隔开
      • 大括号中,就是我们常用的数据,即键值对的形式
    • CSV,大量测试用例,CSV不支持
      • 第一行必须是参数名,逗号隔开
      • 除第一行之外,文件中的每一行数据,都是一组数据,每组数据的列数必须和参数列一致,即逗号的间隔必须一致
  • postman导入驱动的位置如下图示例:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 导入数据之后,会在data下新增一行,用于显示成功上传的文件,也可与看参数信息(Preview)
  • 导入几行数据,执行次数(iterations)就显示为几
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 参数化文件的注意事项
    • 首先,需要新建txt文件,然后修改文本文件的后缀名
    • 如果是json文件,后缀名就是.json;如果是csv文件,后缀名就是.csv
    • 设置好之后,最好使用notepad++打开文件,并设置一条数据,首次不要使用excel输入数据
    • 保存之后,再使用excel打开,修改数据之后,在保存提示不兼容时,要选择是,不能选择否
    • 需要注意编码问题,如果出现乱码,需要将文件编码改成utf-8(notepad中,encoding下,选择utf-8 即可)
  • 导入外部参数数据之后,不能在postman主界面点击send发送请求,因为变量识别不到,外部关联的变量只有在postman的Runner中才能识别
  • postman实现数据驱动——关联数据文件中的参数
    • 请求参数区:用{{外部数据文件的参数名}}关联,和环境变量的使用方式相似
    • 代码区域,请求前置脚本(Pre-requect-Script)和Tests脚本都可以用代码关联
    • 代码:data.外部数据文件中的参数名
  • 如果在run的时候,存在外部传入的变量,即使外部文件中的参数和环境变量的参数相同,也会使用外部传入的参数
  • 执行完成后的结果如下图:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 如果在run的时候,需要将外部文件中的预期结果,断言的编写方式如下:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

postman生成测试报告

  • postman使用runner运行时,生成的测试报告只能在postman内部内部查看,并不能很好的传递给其他人
  • 因此,可以生成一个HTML的报告,HTML容易传播,只要有浏览器就可以打开查看
  • postman如果要生成HTML报告,需要使用newman工具生成
  • newman 是使用node.js开发,专门为postman做的生成测试报告的工具插件
    • 因此我们需要安装node.js newman和newman的插件:newman-repoer-html
  • newman安装:
    • 进入https://nodejs.org/en/下载插件,选择“Recommended for most User”的按钮下载
    • 双击之后, 根据安装向导一步步的安装,一路下一步即可
    • 如果在cmd(windows操作系统中)中,输入node -v的命令,如果可以显示版本号,说明安装成功
    • 然后需要验证npm是否安装,命令为npm -v,如果可以显示版本号,说明安装成功
    • node.js安装好之后,要开始安装newman,在cmd中使用命令npm install -g newman 即可
    • 然后需要安装newman插件,在cmd命令中输入npm install -g newman-reporter-html 即可
    • 验证newman是否安装完成的方式是:new -v,如果可以显示版本号,说明安装成功
    • newman-reporter-html的检查方式是:在npm的安装路径下(环境变量中确认),点击node_modules,查看是否存在newman-reporter-html文件夹
  • newman安装好主机后,需要先导出用例集,导出方式为:
    • 选择用例集右侧的三个点——Export——使用推荐的导出即可,具体方式如下:
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 导出环境文件(如果断言的时候用到环境的话):
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • newman的命令介绍:
    • newman run 用例集.json 运行用例集
    • newman -e 环境变量.json 指定运行环境
    • newman -d 数据文件.json 指定运行数据
    • newman -r html 生成html报告
    • newman -r reporter -html -export report.html 指定html报告名称是report.html
  • 运行案例:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 以上命令运行在cmd中执行,数据文件、用例集、环境变量等,都必须使用路径准确到文件名

jemter

  • Jemter采用Java语言开发,是一款用来进行互联网接口自动化测试和性能测试的工具

Jemter的安装

  • 首先要安装JDK,下载网址

  • 下载后,使用新手指引安装(Windows);将下载的dmg文件拖拽到应用中即可(MAC)

  • 安装jdk之后,需要安装jemter,地址

  • 验证jdk是否安装,需要在cmd(windows)或者(应用-其他-终端)中输入java -version,看到版本号说明可用

  • 配置环境变量:(windows)

    • 此电脑——属性——高级系统设置——高级下的环境变量——系统变量——新建——输入“JAVA_HOME”和jdk的安装目录——确定保存
    • 新建——输入“JRE_HOME”和jre的安装目录(一般在jdk中)——确定保存
    • path中,将jdk和jre的路径输入
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 配置好环境变量,cmd窗口需要重启输入命令才能确认

  • 将安装包下载后,解压,双击jemter.bat(Windows)或者双击jemter.sh(MAC)即可

  • 配置jemter的环境变量,和jdk的环境变量配置一样,需要新建“JEMTER_HOME”,并设置相关参数(jemter的安装目录)和在path中设置jemter的安装目录

  • MAC配置环境变量,需要在应用-其他-终端中打开配置文件:open .bash_profile

    • 在配置文件中输入以下代码:其中jdk和jmeter需要改为自己的路径
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
export JMETER_HOME=//Users/fyc/Desktop/Work/apache-jmeter-5.5
# 冒号前代表JDK目录下的bin目录,冒号后代表当前目录
export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
    • 也可以使用以下配置环境的代码
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:. 
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:. 
export JAVA_HOME 
export PATH 
export CLASSPATH

export JMETER_HOME=//Users/fyc/Desktop/Work/apache-jmeter-5.5
export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar
    • 配置完成之后,要使用source ~/.bash_profile使配置文件生效
    • 然后使用echo $JAVA_HOMEecho $JMETER_HOME来确认生效,如下图
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
    • 之后就可以直接输入jmeter打开软件了
    • 【备注】终端只要关闭,jmeter每次打开都需要先执行source ~/.bash_profile使配置文件生效,才能输入jmeter命令。打开软件,否则会找不到

Jemter的目录结构

使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • backups:jemter自动备份的数据,可以在其中寻找与一些忘记保存的数据
  • bin:jemter可执行文件目录,启动jemter时,就是启动bin目录下的apachejemter.jar,jemter.bat/jemter.sh文件
  • docs:jemter的接口文档,二次开发的开发工程师需要学习查看
  • extras:jemter的第三方功能,里面继承了试用ant来生成html测试报告的功能
  • lib:jemter本地依赖包库,一旦删除,影响jemter的运行
  • licenses:jemter的证书
  • pritable_docs:jemter的操作手册,如果想自学jemter,可以查看这个tripacle_docs中英文文档自学

Jemter的通用配置

  • 在jmeter中,添加多个线程组,运行的时候并不是运行完一个线程组之后在运行第二个,他们默认是并行运行的,如果要实现串行运行(运行完一个之后再运行下一个),需要做如下设置:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 语言配置
    • 试用jemter时,为了方便使用,都习惯使用中文版本,因此可以切换jemter的语言配置
    • 启动jemter后,点击Options——>Choose Language ——>Chinese(Simplifled)
    • 示例如下:
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • Jemter外观修改:
    • 启动jemter后,点击选项——>外观 ——>Windows
    • 选择之后会出现探矿,确定之后jemter会自动重启,重启之后外观就换
  • Jemter安装第三方插件:
    • 准备第三方插件依赖包,下载地址
    • 点击以下按钮下载:
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
    • 然后将插件放在根目录/lib/ext中,重启jemter
    • 启动jemter后,点击选项——>Plugins Manager,如下图示:
      使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 选择之后,会出现以下界面:
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 安装之后,需要重启jemter才能安装成功

jemter的基础使用

  • jmeter保存脚本(上面任务栏中的按钮),默认实在jmeter的bin文件下面,可以自己自定义路径
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 启动(绿三角)按钮左侧的那个是切换按钮,就是切换启用禁用的,点击后可置灰api请求,置灰后api请求就会失效
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 性能测试要注意jmeter右上角的这几个图标
    • 时间:脚本当前测试运行的时间,在性能测试中,可以看出脚本一共运行了多长时间
    • 三角形:显示日志中的异常数,当jmeter工具运行报错的时候,这个地方就会出现红色的数字
    • 在后面的0/1:0代表正在运行的线程数;1代表线程组中设置的线程数,即将要启动的线程数

测试计划

  • 计划:什么时间,什么人,做什么事情
  • jmeter中的测试计划,就是一切接口请求脚本的根节点

线程组

  • 添加线程组并设置线程组信息(下图中的Threads(User)是线程(用户)的意思)
    • jedmter是基于线程来运行的,线程组主要用来管理线程的数量,线程的执行策略。例如线程的并发数,并发时间,请求循环次数
  • 添加方式:右击线程组——用户——线程组
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
线程组右侧详情界面的解释

使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具

  • 线程组的名称:按照自己的需求随便填写
  • 注释:选填项,根据自己的需求标注
  • 在取样器错误之后,要执行的动作(线程组页面注释下的单选按钮)
    • 继续:会继续运行,不会停下来(默认和常用,其他选项了解即可),也就是说在多api的情况下,一个请求报错,其他的请求也会执行
    • 启动下一个进程:用例报错的话,启动下一个相同的用例,直到用例顺利通过才请求另外的用例
    • 停止线程:一个线程(并发)出现问题,就不会执行并发之后的用例,并发没有问题的话,继续执行
    • 停止测试:停止测试计划下的说所有线程组,也就是说:一旦一个线程报错,所有线程全部停止,但是已经启动的线程不会停止(已启动的线程需要等待服务器响应才停止)
    • 立即停止测试:停止测试计划下的说所有线程组,也就是说:一旦一个线程报错,所有线程全部停止,包括已经启动的线程(已启动的线程不论服务器是否响应,都会停止)
  • 线程的属性
    • 线程数:启动线程的数量,也是用户数量(并发数 )
    • Ramp- UP时间(秒):每个线程启动的时间间隔,第一个线程是0秒启动
    • 循环次数:请求循环几次
    • 延迟穿件线程直到需要:修复Ramp-UP的BUG设置的功能
    • 调度器:设置线程启动的策略,主要有线程的运行时间和启动延迟
    • 调度器项——持续时间:所有线程运行的最大时间
      • 如果启动哦线程给服务器发送请求,因为发送哦请求后,会阻塞线程,让线程等待服务器响应,因此,在服务器没有返回响应数据之前,线程会进入等待状态无法停止,导致超过设置的最大时间
      • 启动延迟:启动线程要等待的时间
      • 例如:如果设置持续时间为120s,延迟启动时间为60s,那么前60s是不会调用api的
  • 在不勾选循环次数下的延迟创建线程直至需要(Delay……)的情况下,每个线程启动的间隔时间为60/60,勾选的情况下,每个线程启动的时间为60/(60-1)

HTTP请求

  • HTTP请求是jemter接口测试的核心部分,主要使用HTTP取样器来发送接口请求,在这里可以填写请求接口的基本信息,例如协议,地址,传参等
  • 一个线程组下面可以有多个HTTP请求,HTTP请求也必须设置在线程组下面
  • 添加方式:右击线程组——添加——取样器——HTTP请求
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
配置HTTP取样器

使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具文章来源地址https://www.toymoban.com/news/detail-770949.html

  • 名称:接口请求的名称
  • 注释:接口请求需要注意的地方,可有可无
  • 协议:填写URL协议部分的内容,例如HTTP,可以不写,但是当协议是https的时候,一定要写
  • 服务器名称/IP:填写URL中域名/ip的部分
  • 端口号:项目的端口,如果是tomcate,就是8080
  • 方法:请求方法,GET、POST、DELETE、PUT等,请使用选择,不要手动填写
  • 重定向的选择
    • 默认是跟随重定向,在查看结果树中可以看到重定向的过程,后续可以提取过程中的数据(如果需要)
    • 自动重定向:直接跳跃到最终的地址上,查看结果树中,看不到中间过程,所以无法提取到中间过程的数据
  • 路径:URL中,域名、端口之外的部分,例如:/login,注意前后不能有空格
  • 内容编码:设置请求数据的编码类型,例如:utf8
  • 参数(Parameters):设置查询参数和请求体数据
    • 当请求方法手段是Get时,参数是查询参数
    • 当请求方法是POST时,参数是请求数据(表单格式请求体)
  • 消息体数据(Body Data):自定义的请求体数据,和参数只能选择一个填写
    • 一般情况下用于当传参格式为json、xml形式的时候;请求的时候必须加上消息头,内容信息为Content-Type:application/json
    • 做性能测试的时候,请求体中的非必传参数,一般都需要填写
    • 请求体的参数类型是数字的时候,值没有双引号
  • 文件上传(File Upload):定义要上传的文件
HTTP 协议脚本注意事项
  • 协议:如果协议是http,可以不写,但是如果是https就必须要写
  • 服务器名称:千万不能有/,也就是说用域名访问,不要写http://
  • 端口:如果不填写,默认是80端口
  • 请求方法:要选择,千万不要手动填写
  • 要根据接口文档中的方法、请求体传参数据来编写脚本,否则会出错或重定向
  • 路径:路径地址前后千万不能有空格
  • 内容编码:utf8,消息体中存在中文或特殊符号的时候可填写
    • 内容编码仅对消息体数据有效,对表单参数是无效的
    • 对中文数据的处理,也可以在请求头管理器中填写charset=utf8来做处理
  • 对于请求体,jmeter中认为参数和消息体数据是互斥的,不可能同时存在
  • 当请求参数为表单类型的时候,需要在表单参数的列表中,编码列中勾选设置编码信息(中文或者特殊符号必须勾选)(这里的编码时对表单中的内容进行urlencode的编码)
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 请求体的类型为json、xml形式的时候,就一定要有消息头

查看结果树

  • 通过HTTP取样器发送接口请求之后,服务器返回的结果需要通过查看结果树进行查看
  • 作用:发送请求之后,在查看结果树中查看取样器的运行结果(请求的返回结果)
  • 添加方式:线程组右击——监听器——查看结果树
    使用jmeter模拟postman进行测试接口,接口测试,postman,测试工具
  • 查看结果树中包含了经过jemter处理之后的请求数据和响应体
  • 名称:查看结果树的名称
  • 注释:查看结果树的注释,可有可无
  • 文件名:选择把结果保存到文件,不写时不保存
  • Text(侧边栏,可以看到XXX请求字样,XXX指协议):可以选择查看响应数据的方式
    • Text的最右侧存在下拉按钮,点击后可选择显示类型,例如可选择XPATH 、HTML、JSON、正则表达式等等
    • Text中的请求结果为绿色时,仅仅代表网络成功,即响应状态码为1XX,2XX,3XX,不代表预期和结果一致
    • 而红色也仅仅代表网络相应失败,响应状态码为4XX,5XX
  • 查找:搜索查看结果树中,左侧侧边栏的信息
  • 取样器结果:在选择了Text格式查看数据时会显示,主要查看一些综合的信息,包括接口请求时间,数据包大小等
  • 请求:查看接口的所有请求数据,包括请求行,请求头和请求体,这个数据经过了jemter的处理,所以用来分析jemter处理请求的过程中有没有出现问题
  • 响应:查看接口所有响应数据,包括状态、响应头和响应体

到了这里,关于接口测试——postman和Jemter(只有基础使用配置)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 接口测试(Postman与Jmeter)

    通常做的接口测试指的是系统对外的接口,比如你需要从别的系统来获取到或者同步资源与信息,他们会提供给你一个写好的接口方法供你调用,比如常用的app,用户同步这些在处理数据的时候需要通过接口进行调用。 webService接口和http api接口是最常见的两种接口方式,后者

    2024年01月20日
    浏览(49)
  • 学习笔记-接口测试(postman、jmeter)

    一、什么是接口测试 通常做的接口测试指的是系统对外的接口,比如你需要从别的系统来获取到或者同步资源与信息,他们会提供给你一个写好的接口方法供你调用,比如常用的app,用户同步这些在处理数据的时候需要通过接口进行调用。 webService接口和http api接口是最常见

    2024年02月04日
    浏览(46)
  • Python自动化测试——postman,jmeter接口测试

    关于众所postman,jmeter,做自动化测试的我想对这两个词并不陌生。大家都知道postman用来做接口测试很方便,下面我们就用一些例子来演示一下它该如何进行接口测试: 首先我们来介绍一下接口测试的概念: 1、什么是接口测试? 接口测试是测试系统组件间接口的一种测试。接

    2024年04月27日
    浏览(50)
  • Postman接口测试工具使用教程【基础版】

    postman postman是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 。无论是开发人员进行接口调试,还是测试人员做接口测试,postman都是我们的首选工具之一 。那么接下来就介绍下postman到底有哪些功能,它们分别都能干些什么 。下面先

    2024年02月11日
    浏览(49)
  • 接口测试基础知识(使用 Fiddler 抓包、使用 Postman 发起请求、Postman汉化教程)

    接口用来连接软件系统中的不同模块,一个模块可以通过调用另一个模块的接口来实现模块中的功能 通过接口文档或抓包来获取接口的基本调用方式 通过获取的接口信息来设计测试用例 发起接口测试 获取接口返回的结果,对结果进行验证和解析 验证接口URL的设计是否符合

    2024年02月11日
    浏览(51)
  • Jmeter和Postman那个工具更适合做接口测试?

    软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中,有高手,自然也会有小白,但有一点我们无法否认,就是每一个高手都是从小白开始的,所以今天我们就来谈谈一大部分人在做的接口测试,小白变高手也许你只差这一次深入了解! 一、接口测试的目的

    2024年02月06日
    浏览(44)
  • 接口测试工具大PK, Jmeter与Postman

    今天给大家带来的是日常工作中, 大家都有接触过的接口测试工具Jmeter与Postman的比较. 1. Jmeter最大的特点就是组件化 使用Jmeter时, 默认自带一个组件也就是 TestPlan测试计划, 然后在TestPlan下新增Thread group线程组, 再去添加对应协议请求Sampler即可 2.Postman是更容易上手,界面更简洁

    2024年02月06日
    浏览(47)
  • 接口测试工具——Postman测试工具 & Swagger接口测试+SpringBoot整合 & JMeter高并发测试工具

    头部携带token 类型选择JSON https://apifox.com/ swagger2,较多 swagger3, Knife4j的前身是swagger-bootstrap=ui,前身swagger–bootstrap-ui是一个纯swagger–ui的ui皮肤项目 https://doc.xiaominfo.com/docs/quick-start 底层就是swagger 序号 注解 作用 1 @Api(tags = “图书的api接口类”) 左侧名字 2 @ApiOperation(“findPa

    2024年02月12日
    浏览(63)
  • 软件测试工程师使用Jmeter工具做接口压力测试(Jmeter配置随机生成手机号)

    背景:性能测试的数据准备时很多情况需要产生一批新的数据,我们这次主要讲述的是如何产生随机的手机号,以用户注册接口为场景、生成随机手机号作为账号进行并发测试。 JMeter压力测试中设置线程组的线程数,即执行时的并发用户数,适用于单个线程组的并发测试。

    2023年04月19日
    浏览(80)
  • 接口测试 再也不必来回切换,发现一个接口测试软件,可以替代 Swagger+Mock+Jmeter+Postman

    日常测试过程中,常常需要多种工具来接力完成自己的接口测试任务。 比如说, 使用swagger查看接口文档, 使用mock编造接口数据对前端页面做测试 使用postman测试后端接口, 用Jmeter来做接口自动化测试/性能测试。 那有没有一款软件可以完美集成以上所有的功能? 笔者发现

    2024年02月15日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包