接口测试遇到500报错?别慌,你的头部可能有点问题

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

问题:接口的入参、地址、请求方式都设置对了,但是请求仍返回500,报系统错误是为啥?

在日常进行接口测试过程中,我们都知道一个完整的接口HTTP请求一般包括四大部分:请求信息头、请求体、响应信息头、响应体、请求方式(post/get等)。在进行测试时我们比较关心的是请求入参,也就是请求体的信息,从而忽略了请求信息头的重要性。若是未正确定义信息头,会导致接口请求失败。

本文主要带大家简单了解下信息头的作用。Jmeter提供了HTTP Header Manager信息头管理器,用于定义规范客户端和服务端之间HTTP接口请求的默认规范。

注意:HTTP 的请求方式有 8 种,但是我们在实际应用中常用的也就是 get 和 post,其他请求方式也都可以通过这两种方式间接的来实现。

常用的标准

常用的HTTP接口请求头字段有如下:

l Accept

设置接受的内容类型

l User-Agent

用户代理的字符串值,一般用于告诉服务器客户端使用的操作系统/浏览器的名称和版本等信息

l Content-Type

设置请求体的MIME类型(适用POST和PUT请求),告诉客户端实际返回的内容的内容类型,常用application/json;charset=UTF-8,定义接口响应返回的数据是json格式,编码格式是UTF-8。

l Content-Length

设置请求体的字节长度

l Accept-Encoding

设置接受的编码格式

l Accept-Language

设置接受的语言

l Origin

标识跨域资源请求(请求服务端设置Access-Control-Allow-Origin响应字段)

l Referer

设置前一个页面的地址,并且前一个页面中的连接指向当前请求,意思就是如果当前请求是在A页面中发送的,那么referer就是A页面的url地址

l Cookie

Cookie是远程服务端返回的识别用户身份信息,该信息存储在客户端,客户端每次进行操作时,会通过HTTP协议和服务器端进行Cookie的交互,验证身份信息正确才可交互成功(大多数需要登录后操作的接口上面会比较常见)。

l Set-Cookie

设置HTTP Cookie,用来存储一些用户信息以便让服务器辨别用户身份的,一般是服务端返回的用户身份信息(大多数需要登录的接口上面会比较常见)

......

Header信息获取方式

接口的信息头到底定义了哪些内容,可以通过以下渠道获得:

1. 开发提供接口文档

2. 通过抓包工具charles抓取查看Request的Headers

下图为方式2,通过抓包工具查看到的某接口的请求信息头(Request-Headers)
系统接口500异常,自动化测试,测试工具,压力测试,职场和发展,http

系统接口500异常,自动化测试,测试工具,压力测试,职场和发展,http

实践

目标:某系统登录接口已定义响应数据(Response)返回的格式是json格式,使用jmeter的HTTP Request、HTTP Header Manager成功实现登录。

配置

菜单路径

系统接口500异常,自动化测试,测试工具,压力测试,职场和发展,http

配置内容:

从抓包工具charles上可获取到接口需要定义Content-Type:application/json;charset=UTF-8(响应数据为json格式,编码方式为UTF-8)

系统接口500异常,自动化测试,测试工具,压力测试,职场和发展,http

未定义信息头

下图中POST方式的登录接口未设置HTTP Header Manager,运行jmeter脚本发起接口请求时默认Content-Type:text/plain(纯文本格式),所以请求会报错,返回状态码500。

系统接口500异常,自动化测试,测试工具,压力测试,职场和发展,http

系统接口500异常,自动化测试,测试工具,压力测试,职场和发展,http 

正确定义信息头

正确定义信息头:Content-Type:application/json

信息头配置正确后,运行jmeter脚本接口请求成功,返回状态码200。

系统接口500异常,自动化测试,测试工具,压力测试,职场和发展,http

系统接口500异常,自动化测试,测试工具,压力测试,职场和发展,http

其他常见的媒体格式

text/html :HTML格式

text/plain :纯文本格式

text/xml :XML格式

application/xhtml+xml :XHTML格式

application/xml:XML数据格式

application/json:JSON数据格式

......

本文仅分享由于请求信息头(Headers)未定义而引起的错误码500,不排除其他原因引起。

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

系统接口500异常,自动化测试,测试工具,压力测试,职场和发展,http

 

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…..点击下方小卡片进群免费获取~文章来源地址https://www.toymoban.com/news/detail-737119.html

到了这里,关于接口测试遇到500报错?别慌,你的头部可能有点问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 遇到Websocket就不会测了?别慌,学会这个Jmeter插件轻松解决....

    websocket 是一种双向通信协议,在建立连接后,websocket服务端和客户端都能主动向对方发送或者接收数据,而在http协议中,一个request只能有一个response,而且这个response也是被动的,不能主动发起。 websocket优势: 当服务器完成协议升级后(HTTP-Websocket),服务端就可以主动推

    2024年03月14日
    浏览(35)
  • java对接web service接口遇到的坑,postman测试代码报错415Unsupported Media Type,程序中报错org.xml.sax.SAXException: Bad en

    对接web service接口,soapUI工具接口调用成功,但是postman调用报错 415Unsupported Media Type ,程序中报错 org.xml.sax.SAXException: Bad envelope tag: Fault ,经过调查,是请求头信息,然后深究之后发现是web Service 的soap协议问题,网上大部分解决方案提供的都是spap1.1协议的,但是我的接口提供

    2024年02月05日
    浏览(48)
  • 如何让你的 WebSocket 接口测试更高效?拯救你的接口测试工作

    目录 引言 WebSocket介绍 HTTP与WebSocket的区别 WebSocket测试方法 使用在线工具 使用Postman 使用Jmeter 使用Python 结语 你是否曾经为 WebSocket 接口测试中复杂的协议和难以捕获的数据而感到束手无策?WebSocket 协议与传统的 HTTP 协议不同,测试方法也需要针对其特殊性进行优化。 本文将

    2024年02月07日
    浏览(44)
  • postman测试接口在URL配置正确的情况下出现404或者500错误

    1.用postman调试接口的过程中,出现404,第一确认类上注解是@RestController  不然在测试的时候会出现500 2.确定方法上有没有声明PostMapping或者GetMapping 3.uri路径确认没问题 加上@GetMapping测试成功  总结:404找不到资源,无非就是接口路径,提交方式、参数类型、返回结果类型有问

    2024年02月11日
    浏览(47)
  • 选择最适合你的接口测试工具:SoapUI、JMeter、Postman!

    在软件开发的过程中,接口测试是确保系统正常运行的关键环节。为了有效地执行接口测试,选择适当的工具至关重要。在这篇文章中,我们将比较分析三种常见的接口测试工具:SoapUI、JMeter和Postman,以帮助你了解它们的优势和劣势,以及在何种场景下选择哪种工具。 1、

    2024年02月05日
    浏览(48)
  • AI投研分析,模块化赛道可能会出现新的头部公链

    随着比特币ETF的通过,再加上比特币第四次减半临近,备受期待的新一轮牛市周期已经开启了,然而对于那些刚穿越过熊市的新韭菜而言,因为总觉得没这么快涨起来,而对二级市场交易变得非常谨慎,导致了很多新韭菜在抱怨此轮严重踏空。   但对于我这个深耕币圈数年的

    2024年04月13日
    浏览(36)
  • 使用postman测试接口的时候,遇到form-data类型如何传参

    formData里面存储的数据形式,一对key/value组成一条数据,key是唯一的,一个key可能对应多个value json常用的格式 1.数组方式 [ ] 2.对象方式 { }

    2024年02月11日
    浏览(48)
  • 如何用postman进行http接口测试,这篇文章绝对会颠覆你的认知

    目录 前言 优点: 1、什么是POSTMAN 2、新建一个项目 2、新增一个用例 3、添加请求信息 4、post请求参数 5、添加头信息 6、预处理和结果检查 7、全局变量与环境变量 8、导出用例为代码 9、批量执行用例 HTTP的接口测试工具有很多,可以进行http请求的方式也有很多,但是可以直

    2024年02月06日
    浏览(39)
  • 在安装和配置DVWA渗透测试环境遇到的报错问题

    前面的安装我参考的这个博主:渗透测试漏洞平台DVWA环境安装搭建及初级SQL注入-CSDN博客 这里提示一下,我使用的是PHPstudy集成环境(mysql,Apache),博主提到的php.in文件  位置在设置里面,点击php.ini 其他的错误按照博主的改。 解决方法参照博主:Dvwa遇到 Could not connect to the d

    2024年02月08日
    浏览(50)
  • .net core 本地环境切换网络遇到的问题 500.19 502.5 500.21 500.32 500.30 invalid_request

    问题一 运行环境 IIS 部署.NET CORE 项目 出现 HTTP 错误 500.19 - Internal Server Error 附上.NET CORE2.1版本的下载链接 下载 .NET Core 2.1 (Linux、macOS 和 Windows) (microsoft.com) 下载完成以后重启IIS,有的版本还需要在IIS设置.NET CLR版本为无托管代码 问题描述 :IIS 部署 ASP.NET Core 后请求报错 HTT

    2024年02月07日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包