JMeter做http接口功能测试

这篇具有很好参考价值的文章主要介绍了JMeter做http接口功能测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 普通的以key-value传参的get请求

e.g. 获取用户信息

添加http请求;填写服务器域名或IP;方法选GET;填写路径;添加参数;运行并查看结果。

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

2. 以Json串传参的post请求

e.g. 获取用户余额

添加http请求;填写服务器域名或IP;方法选POST;填写路径;在参数区域选Body Data标签;写入Json串参数,注意Json格式;运行并查看结果。

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

 *注意:

Json传参时,往往参数相对复杂,规模较大,很多时候是Json串再嵌套Json串,在写入body的时候如果哪里格式不对会影响传参,而JMeter本身是不能对Json进行格式校验的(Postman可以进行简单的Json校验),我们可以借助这个网站来校验你的Json串的格式,www.bejson.com 再把确保格式正确的Json串填入body。

3.  请求时需要http权限验证

e.g. 修改用户余额

添加http请求;填写服务器域名或IP;方法选POST;填写路径;填写参数;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

添加授权管理器,右击线程组->添加->配置元件->HTTP授权管理器;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

打开HTTP授权管理器,在基础URL添加路径;填写用户名、密码(接口文档会给出);添加域即请求的服务器域名或IP;其他默认;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

运行请求并查看结果。(该接口暂时有问题请求返回500,只要掌握需要权限验证的接口如何做就好)

4.  请求时需要添加请求标头

e.g. 获取用户信息2

添加http请求;填写服务器域名或IP;方法选POST;填写路径;填写参数;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

添加HTTP信息头管理器,右击线程组->添加->配置元件->HTTP信息头管理器;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

打开HTTP信息头管理器,参照接口文档填写好header信息;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

运行请求并查看结果。

5.  请求时需要添加Cookie

e.g. 修改用户余额2

添加http请求;填写服务器域名或IP;方法选POST;填写路径;填写参数;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

添加HTTP Cookie管理器,右击线程组->添加->配置元件->HTTP Cookie管理器;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

打开Cookie管理器,参照接口文档填写好Cookie信息;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

 发送请求并查看结果。

6.  请求通过某个接口上传文件

    e.g.上传文件

    添加http请求;填写服务器域名或IP;方法选POST;填写路径;在参数区域选Files Upload标签,添加文件全名(包含绝对路径,也可以点击浏览按钮添加),写入参数名;发送请求并查看结果。

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

JMeter的参数化

1. 指定参数值

这种方法常用来解决线程组中多个请求共用相同的数据,比如我们以上所有请求都有相同的IP地址,当地址改变时可以一改全改。

添加用户定义的变量,右击线程组->添加->配置元件->用户定义的变量;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

打开用户定义的变量,添加变量,写好名称和值;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

脚本中用到该值的所有地方都可以引用这个变量名了,引用变量的格式为 ${变量名};

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

2. 借助函数生成参数

测试过程中,有时候数据不适合被指定,可选择借助函数来生成,以下是最常用的几种。

  •     用函数生成随机数:(__Random)

在Jmeter中点击 选项->函数助手对话框;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

在弹出的对话框中选__Random,填写随机数的范围,点击生成按钮,就看到你需要的字符串了;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

尝试在请求中使用生成的随机数,把刚拷贝的字符串粘贴到请求的参数里;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

发送请求,查看请求中参数值的情况,参数生效了。

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

  •    用函数生成当前时间:(__time)

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

  •    用函数生成通用的唯一识别码:(__UUID)

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

3. 文件传参

用于读取在文件中维护的参数,如参数文件内容如下;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

注意,Jmeter读取文件总的参数是从第一行就开始了的,千万不要犯下面的错误。

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

在Jmeter中右击线程组->添加->配置元件->CSV Data Set Config;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

打开设置窗口,写入参数文件的全名(含绝对路径),变量名,Delimiter就用默认的逗号,表示在准备参数文件时参数表的列之间用逗号隔开;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

在请求中引用参数时应该是酱紫的:${username}  ${pwd},用它们来顶替对应的参数值。

4. 关联传参

在线程组内,当你想用一个请求的响应结果作为另一个请求的入参时就需要用到关联。

  • 用正则表达式关联

思路是先从某个请求的响应数据中提取你需要的值,在把这个值在另一个请求中入参,操作如下:

在需要被提取响应数据的请求下添加正则表达式提取器,右击添加->后置处理器->正则表达式提取器;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

在正则表达式提取器中填写 引用名称,不说也知道用途;正则表达式,最简单的办法是在响应数据中把要提取的目标值左右若干字符包含目标值的一行拷贝出来,粘贴到正则表达式框内,在把目标值用一对小括号替换,括号里用添上合适的匹配符本例如(.*); 注意在响应数据中拷贝时尽量避开需要转义的字符如果不能避开,请转义;

模板通常固定填$1$;

匹配数字1代表区匹配的第一个值;

缺省值是在匹配失败时取得的值,通常用来检查匹配是否成功;

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

a. 关于正则表达式

():括起来的部分就是要提取的。 
.:匹配除换行外的任何字符串。 
+:代表+号前面的字符必须至少出现一次(一次或多次)。 
?:代表?前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次)。 
:代表号前面的字符可以不出现,也可以出现一次或者多次(0次、1次或者多次) 
(.*):贪婪模式,匹配尽可能多的字符 
(.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了。

 用${age}入参给另一个请求,查看结果传参成功。

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

  • 用Json Path Extractor 插件关联

只针对Json格式的Response 取值,右击请求添加->后置处理器->JSON Path Extractor;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

在JSON Path Extractor中填入引用名和JSONPath Expression;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

在另一个请求中入参,也和上面的结果一样转参成功。

注意,JSON Path Extractor这个插件只能在Jmeter3.x以上的版本安装。

Jmeter添加断言检查结果

右击请求添加->断言->响应断言;

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

 

添加并写入希望在响应结果中看到的内容;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

发送请求,查看结果;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

 Jmeter操作Mysql

测试计划添加.jar包 mysql-connector-java-5.1.7-bin.jar用于使Jmeter可以读取Mysql;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

 线程组添加 JDBC Connection Configuration (添加->配置元件-> JDBC Connection Configuration)用于配置Jmeter和Mysql的连接;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

JDBC Driver class是固定的,Jmeter操作各类数据的Driver参考下图;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

线程组添加JDBC Request(添加->Sampler-> JDBC Request) 用于写sql来操作Mysql;

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展

发送请求,成功访问Msql。

 

JMeter做http接口功能测试,jmeter,jmeter,http,功能测试,接口测试,自动化测试,软件测试,职场和发展文章来源地址https://www.toymoban.com/news/detail-590559.html

到了这里,关于JMeter做http接口功能测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 接口自动化测试持续集成,Soapui接口功能测试参数化

    按照自动化测试分层实现的原理,每一层的脚本实现都要进行参数化,自动化的目标就是要实现脚本代码与测试数据分离。 当测试数据进行调整的时候不会对脚本的实现带来震荡,从而提高脚本的稳定性与灵活度,降低脚本的维护成本。 Soapui最为强大的参数化就是支持groo

    2024年02月01日
    浏览(44)
  • 软件测试:功能测试-接口测试-自动化测试-性能测试-验收测试

    软件测试的主要流程 一、测试主要的四个阶段 1.测试计划设计阶段 :产品立项之后,进行需求分析,需求评审,业务需求评级,绘制业务流程图。确定测试负责人,开始制定测试计划; 2.测试准备阶段 :各成员编写测试用例、先小组内评审、后会议评审,测试样机和配件,

    2024年02月08日
    浏览(48)
  • 【业务功能篇86】微服务-springcloud-系统性能压力测试-jmeter-性能优化-JVM参数调优

      压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,

    2024年02月10日
    浏览(42)
  • Jmeter —— jmeter接口自动化测试操作流程

    在企业使用jmeter开展实际的接口自动化测试工具,建议按如下操作流程, 可以使整个接口测试过程更规范,更有效。 1、获取到接口文档:swagger、word、excel ... 2、熟悉接口文档然后设计测试用例(一般都是先在excel中编写) 3、进行用例评审 4、将excel中的测试用例在jmeter中编

    2024年02月09日
    浏览(48)
  • 功能测试,接口测试,自动化测试,压力测试,性能测试,渗透测试,安全测试,具体是干嘛的?

    软件测试是一个广义的概念,他包括了多领域的测试内容,比如,很多新手可能都听说:功能测试,接口测试,自动化测试,压力测试,性能测试,渗透测试,安全测试等,这些专业名词,但是绝大多数人都对这些名词一知半解,所以,今天我们就来给大家做个逐一的解释:

    2024年02月03日
    浏览(50)
  • Jmeter接口自动化测试 —— Jmeter变量的使用

    ​在使用jmeter进行接口测试时,我们难免会遇到需要从上下文中获取测试数据的情况,这个时候就需要引入变量了。 添加-配置元件-用户自定义的变量 添加-配置元件-CSV 数据文件设置 变量的调用方式:${变量名} 变量的作用范围:变量可以写入任何测试组件的任何字段中(除

    2024年02月05日
    浏览(45)
  • 软件测试(功能、接口、性能、自动化)详解

    测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 黑盒测试常见测试用例编写方法 1、等价类 选取少数有代表性的数据,这一类

    2024年02月13日
    浏览(47)
  • Jmeter接口自动化测试 —— Jmeter下载安装及入门

    Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 下载地址:Apache JMeter - Download Apache JMeter 由于Jmeter是基于Java的程序,所以我们要使用Jmeter就必须先安装Java环境,JDK的安装方法大家自

    2024年02月05日
    浏览(45)
  • JMeter接口自动化测试实例—JMeter引用javaScript

    Jmeter提供了JSR223 PreProcessor前置处理器,通过该工具融合了Java 8 Nashorn 脚本引擎,可以执行js脚本以便对脚本进行前置处理。其中比较典型的应用就是通过执行js脚本对前端数据进行rsa加密,如登录密码加密。但在这里我就简单的应用javaScript生成当前时间来做为例子,看如何在

    2024年02月12日
    浏览(37)
  • Jmeter接口自动化测试 —— Jmeter断言之Json断言

     json断言可以让我们很快的定位到响应数据中的某一字段,当然前提是响应数据是json格式的,所以如果响应数据为json格式的话,使用json断言还是相当方便的。 还是以之前的接口举例 添加一个Json断言 维护上想要判断的字段 查看结果 ​ 我们将期望的值故意改成错的545111看看

    2024年02月05日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包