接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式

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

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展

一、 背景:

在使用 Jmeter 进行接口测试时,有些小伙伴不知道 Headers 和请求参数 (Parameters,Body Data) 的联系,本文主要讲 Content-Type 为 application/x-www-form-urlencoded 和 application/json 的场景。

1、使用 Parameters 时,Content-Type 要么不传,要么传 application/x-www-form-urlencoded,因为不传时默认值就是 application/x-www-form-urlencoded,如果传 application/json 的话会报错。

2、使用 Body Data 时,Content-Type 可以是 application/x-www-form-urlencoded 或 application/json。
附一张 Jmeter 请求参数 (Parameters,Body Data) 截图:

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展

二、 Headers 基础概念:

Headers 常见字段:User-Agent,Accept,Content-Type
User-Agent浏览器类型、操作系统及版本、浏览器渲染引擎、浏览器语言等信息的标识, 服务器会根据用户使用浏览器的不同,显示不同的排版从而为用户提供更好的体验 (即浏览器兼容性)。

Accept 属于请求头, Content-Type 属于实体头。
Accept代表发送端(客户端)希望接受的数据类型。
比如:Accept:text/xml;
代表客户端希望接受的数据类型是 xml 类型

Content-Type代表发送端(客户端 | 服务器)发送的实体数据的数据类型。
比如:Content-Type:text/html;
代表发送端发送的数据格式是 html。

二者合起来:
Accept:text/xml;
Content-Type:text/html
即代表希望接受的数据类型是 xml 格式,本次请求发送的数据的数据格式是 html。

三、常见的 content-type

(1)application/x-www-form-urlencoded
最常见的 POST 提交数据的方式,如果不设置 Headers 的 content-type,基本默认会以 application/x-www-form-urlencoded 方式提交数据。
(2)application/json
现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。这种方案,可以方便的提交复杂的结构化数据,特别适合 RESTful 的接口。各大抓包工具如 Chrome 自带的开发者工具、Firebug、Fiddler,都会以树形结构展示 JSON 数据,非常友好直观。
(3)multipart/form-data
这种方式一般用来上传文件。
(4)text/xml
XML 作为编码方式的远程调用规范,一般用不到。

四、接口实例讲解

鉴于公司接口安全问题,用 python+flask 在本地搭了一个服务器用于演示。

1、application/x-www-form-urlencoded + Parameters

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展

2、application/x-www-form-urlencoded + Body Data

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展

3、直接在 URL 后拼接请求参数

URL(Uniform Resource Locator 统一资源定位符),但有时候我们会听到 URI(Uniform Resource Identifier 统一资源标识符),有什么区别呢,举个例子:URL 为http://127.0.0.1/login.json,则 URI 为login.json,同时 URL 是 URI 的子集,因为定位符定位时会根据某些字段进行标识。有点走题了,我们继续贴图。

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展

4、application/json + Body Data

进行这个操作前记得先在 jmeter 的HTTP Header Manager中设置Content-Type 为 application/json

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展

总结一下,首先上面 4 种方式调登录接口/login 都是成功的,并且传参都是 userid=001,test=true(传到服务器的都是键值对)。那么我们测试接口的时候要用哪种方式呢(嗯,当然是都可以啦,因为都成功了,方式不一样而已…)。只能说推荐哪种方式,那肯定第四种 application/json + Body Data 了,因为这种方式参数可以直接复制粘贴,修改灵活,信息直观。但有些小伙伴刚开始常常会把 json 格式写错,带来一些烦恼,那么请进入 http://www.json.cn 进行 json 格式校验,校验通过后再放到 Body Data 中请求接口。

我们再来比较一下前 3 种的不同,不同就是传参方式不同,那相同呢,就是都能成功,并且参数其实都是一样的,贴图:

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展

因为参数都是userid=001&test=true,Headers 是 application/x-www-form-urlencoded,所以服务器就会以 urlencoded 的编码方式去解析入参,所以前 3 种方式的本质是一样的,传的一样的参数,并且告诉服务器解析的传参方式也是一样。

为了增强说服力,贴上 4 种请求方式接口的返回值,接口响应断言为"returnFlag":"1000"

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展

希望本文能给你带来帮助,谢谢阅读。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式,软件测试,自动化测试,软件测试工程师,jmeter,软件测试,功能测试,自动化测试,程序人生,职场发展文章来源地址https://www.toymoban.com/news/detail-721131.html

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

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

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

相关文章

  • 小程序页面跳转与传参

    页面跳转优先采用 navigator 组件 小程序提供了两种页面路由方式: a. navigator 组件 b.通过js进行页面跳转 可以通过页面跳转时将参数传递到对应页面 页面通过options接收参数 下面代码options.id以及options.title均是从上一个页面传递而来的参数

    2024年02月11日
    浏览(28)
  • 【接口/性能测试】Jmeter引用 jar包的三种方式(详细)

    实现对登录密码进行MD5加密 pom文件依赖 MD5Util类 package打包生成jar文件。 方式一:把jar包加入到classpath 添加jar包 login请求 beanshell脚本 发送请求后,从查看结果树中可以看到请求的密码加密了 方式二:把jar包放到lib/ext下 jmeter会自动从它的/lib和/lib/ext目录下的jar包中查找需要

    2024年02月15日
    浏览(30)
  • vue 封装的axios接口,请求接口动态增加headers&responseType

    一、遇到一个需求,掉接口的时候,给headers中添加一个参数

    2024年02月16日
    浏览(36)
  • 微信小程序请求接口提示Provisional headers are shown

    小程序在开发者工具,或者预览 在手机上操作,都没问题; 但是,真机调试时,请求接口失败,提示Provisional headers are shown,导致小程序无法打开 解决方案: 直接拿整个url,到域名检查网站检查一下 检测发现是证书链不完整导致的,服务器安装一下IISCrypto.exe,然后用它设

    2024年02月11日
    浏览(26)
  • 接口测试-关于postman的几种参数请求方式

    (1)POST的数据类型 对于post请求方式,一般都是要对请求发送相应的一些参数的,而参数的注入一般填写在Body中。  如上图所示,在Body中,有多种类型选择: none:一般都不使用 form-data:  对于form-data,是采用键值对的方式进行存储,即将该表单的数据组织成Key-Value形式,

    2024年02月12日
    浏览(35)
  • python+unittest+requests+HTMLRunner搭建接口测试框架,执行用例请求多个不同请求方式的接口

    问题描述: 搭建接口测试框架,执行用例请求多个不同请求方式的接口 实现步骤: ① 创建配置文件config.ini,写入部分公用参数,如接口的基本url、测试报告文件路径、测试数据文件路径等配置项 ② 从配置文件中读取并返回文件中内容,或写入配置文件的方法,文件命名

    2024年02月15日
    浏览(34)
  • 【接口测试】POST请求提交数据的三种方式及Postman实现

      POST请求是HTPP协议中一种常用的请求方法,它的使用场景是向客户端向服务器提交数据,比如登录、注册、添加等场景。另一种常用的请求方法是GET,它的使用场景是向服务器获取数据。 当前,POST请求提交数据的编码方式有三种: application/x-www-form-urlencoded multipart/form-dat

    2024年02月10日
    浏览(40)
  • 软件测试进阶之jmeter的性能测试和性能指标详解

    jmeter里头是脚本: 测试计划 线程组 http请求:接口请求控件 信息头管理器:请求头(content-type、token) 传参:类型:url传参(接口地址加上信息)、bodydata传参:通常用json格式传参,表单格式from-data get:获取资源、get用url post:传参、bodydata传参 查看结果树:查看响应结果

    2023年04月08日
    浏览(38)
  • axios的post请求所有传参方式

    Axios支持多种方式来传递参数给POST请求。以下是一些常见的方式: 作为请求体: 你可以将参数作为请求体的一部分,通常用于发送表单数据或JSON数据。例如: 作为URL参数: 你可以将参数作为URL的一部分,通常用于RESTful风格的API。例如: 作为查询字符串参数: 你可以将

    2024年02月04日
    浏览(28)
  • Get请求中三种传参方式解读

    这几天我在看go-zero框架,实现了一个简单的单体服务,但是使用postman测试接口的时候遇到点问题 error:field id is not set。就是说请求的参数解析失败 发现是我的入参的tag标签和传参对不上 一、使用form标签(最常用) form标签就是最常用的一种,form就是表单的意思,通过url传

    2023年04月21日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包