设为首页 - 加入收藏
广告 1000x90
您的当前位置:78345黄大仙救世网24码 > 接口主体 > 正文

干货!接口测试中模拟post四种请求数据

来源:未知 编辑:admin 时间:2019-08-16

  在日常的接口测试工作中,模拟接口请求通常有两种方法,fiddler模拟和HttpClient模拟。

  Fiddler是一个简单的http协议调试代理工具,它界面友好,易于操作,是模拟http请求的利器之一。

  而我们常说的HttpClient工具包,追根溯源是Apache基金的HttpComponent项目的一个组成部分。HttpComponent有三个主要组成部分,分别是HttpCore、HttpClient以及AsynchHttpClient。按照HttpComponent官网的介绍,HttpCore是底层的HTTP传输组件,用最小的内存来实现模拟客户端和服务器端的Http请求。HttpClient则是基于HttpCore实现的Http请求模拟代理, 可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包。Asynch HttpClient也是基于HttpCore的,顾名思义则是用于处理大量并发请求时的http代理。不同格式的数据通过这两种模拟方法的处理方式不同。

  在接口测试中,接口通常是get请求或者post请求。get请求的测试一般较为简单,只需设置好相关的请求头,url写正确即可。但是在测试post请求时,请求数据格式的设置往往就稍显复杂。尤其是在开发人员的接口文档描述不清楚的情况下,会影响到测试效率。

  故而本文总结了下post请求常见的四种数据格式和他们对应的fiddler、HttpClient模拟请求的构造方法。

  对于get请求来说没有请求主体entity-body。对于post请求而言,不会对发送请求的数据格式进行限制,理论上你可以发任意数据,但是服务器能不能处理就是另一回事了。服务器收到数据后,如何解析数据呢?它会以请求头中的Content-Type设置的内容来进行数据解析。确定好Content-Type的格式之后,请求主体的数据格式也就确定下来了。Content-Type的格式有四种:分别是application/x-(这也是默认格式)、application/json、text/xml以及multipart/form-data格式。

  这是post请求最常见也是默认的数据提交格式。它要求数据名称(name)和数据值(value)之间以等号相连,与另一组name/value值之间用&相连。例如:parameter1=12345¶meter2=23456。将请求的内容进行格式化了,其实这个方法同时简化的客户端发送,也简化了服务器端获取,服务器通过getParameters(String name)即可获取到传送来的信息。

  (1)如果用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:

  (2)如果用HttpClient模拟post请求的话,请求可以这样构造:

  application/json格式的请求头是指用来告诉服务端post过去的消息主体是序列化后的 JSON 字符串。

  (1)如果用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:

  (2)如果用HttpClient模拟post请求的话,请求可以这样构造:

  (1)如果用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:

  (2)如果用HttpClient模拟post请求的话,请求可以这样构造:

  (1)如果用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:

  这是fiddler根据我们上传的文件自动调整生成的请求,在请求头中看到,我们需要选择一段数据作为“分割边界”(boundary属性),这个“边界数据”不能在内容其他地方出现,一般来说使用一段从概率上说“几乎不可能”的数据即可。每次post浏览器都会生成一个随机的30-40位长度的随机字符串,浏览器一般不会遍历这次post的所有数据找到一个不可能出现在数据中的字符串,一般都是随机生成。选择了这个边界之后,浏览器便把它放在Content-Type 里面传递给服务器,服务器根据此边界解析数据。下面的数据便根据boundary划分段,每一段便是一项数据。(每个field被分成小部分,而且包含一个value是form-data的Content-Disposition的头部;一个name属性对应field的ID等等,文件的话包括一个filename)

  (2)如果用HttpClient模拟post请求的话,请求可以这样构造:

  综上,就是接口测试中fiddler与HttpClient模拟post接口四种请求数据的构造方法,总结起来有利于在以后的接口测试工组过程中可以及时查阅。另外,为了尽可能简化核心代码,列出的这些代码中并没有写出需要的jar包,大家使用的时候需要自行添加。

  前情: 在日常的接口测试工作中,模拟接口请求通常有两种方法,利用工具来模拟,比如fiddler,postman,poster,soapUI等利用代码来模拟,使用到一些网络模块,比如HttpClient,或者requests等 Fiddler是一个简单的http协议调试代理工...

  前言: Fiddler是一个简单的http协议调试代理工具,它界面友好,易于操作,是模拟http请求的利器之一。 在接口测试中,接口通常是get请求或者post请求。get请求的测试一般较为简单,只需设置好相关的请求头,url写正确即可。但是在测试post请求时,请求数据格...

  Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...

  一、HAR文件录制 fiddler可以将一系列HTTP请求打包检出存储成HAR(Http Archive)文件。这个HAR文件是个JSON结构,其中entries下存储着具体每个HTTP请求的信息,包括请求体、请求方法、请求头、返回结果等。我们用手机连接电脑fiddler,...

  博尔赫斯说过,“如果有天堂,天堂应该是图书馆的模样。” 书店绝不仅仅是文艺装逼的好去处,更是一座城市的灵魂。大家在电子书上,快速地找寻自己需要的知识,是这个时代赋予我们的便捷方式。而我却无比享受欣赏纸张以及装帧之美。今天放假网小编推荐上海那些最值得去的书店。 1、 Long...

  大学中的宿舍生活每个人难免不了与舍友磕磕碰碰,我不知道是自己的问题,还是舍友的问题,我目前也只能客观的说一下情况,就是我再睡午觉的时候,下铺在打电话,我就说了:小点声!我就带上了自己的隔音耳机,过了二十分钟后,打电话声音还是很大,我忍不了我踢了一下床,完事大概过了三十分钟,...

  凤栖南路一标护脚墙施工 凤栖南路二标护脚墙施工 凤栖南路三标边沟施工 田园路边沟盖板安装

本文链接:http://acrylinkg.com/jiekouzhuti/504.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top