接口测试HTTP请求

本文介绍了GET与POST请求的区别,RESTful API与Webservice接口的概念,并详细讲解了HTTP协议的基础知识。此外,还探讨了接口测试的重要性和具体实施方法,包括用例设计、响应结果验证等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Get请求与Post请求的区别

1.get请求没有请求体,post请求有请求体

2.get请求的参数(需要传递的数据)要放在URL中发送。大小有限制

post请求的参数可以放在URL后传递,也可以放在请求体中(大小不受限制)

3.Get安全性相对较差。

a.参数文明

b.数据会被浏览器缓存

4.设计的用途不同。

Get用来查询—不操作数据,参数量小

Post用来插入、更新数据--安全要求高,数据量大

--Get像轿车,能送货,但能力有限

--post像货车,有货箱(请求正文)。运输量大且安全性高。

二、接口的分类

网络服务接口的分类

1.Restful API:全名为表现层状态转化

资源(Resources),URL(统一资源定位)指向它HTTP协议里面,四个表示操作方式的动词:Get、post、put、delete,改变资源的状态。

2.web service:用XML来定义一个接口的信息(接口的方法、调用方式、参数说明)用一个文件来描述WSDL

SOAP协议:请求和响应的数据载体也是XML;请求和响应要按照一定的规则进行封装——信封;底层也要借助于各种网络协议传输(最常见的绑定http协议)。

二、HTTP协议基础

1.定义:超文本传输协议;应用层协议。无状态。标准的客户端服务器模型。由请求和响应构成。

URL结构

http://host[":"port][abs_path]

http表示要通过HTTP协议来定位网络资源

host表示合法的Internet主机域名或者IP地址

abs_path指定请求资源的URL

2.HTTP请求结构

请求行:请求地址、协议的版本、请求方法名

请求报文头:以明文的字符串格式传送,以冒号分隔的键/值对请求头部通知服务器有关于客户端请求的信息。

User-Agent、Accept、Accept-Encoding、Content-Type

请求正文:数据内容

四种格式:

1)application/x-www-form-urlencoded

对数据进行序列化处理,以键值对形式key1=value1&key2=value2的方式发送到服务器

2)multipart/form-data,将表单中数据全部上传,包括文件

3)字符串文本格式:raw

text/plain 纯文本。浏览器不解析

text/html html。浏览器自动解析

text/xml 或application/xml 后者可指定编码格式

application/json:消息主体是序列化的JSON字符串

4)二进制格式:binary

3.HTTP响应结构

1)响应行:HTTP-Version表示服务器HTTP协议的版本

Status-Code表示服务器发回的响应状态码1 2 3 4 5

2)响应报文头:以明文的字符串格式传送,以冒号分隔的键/值对响应头部通知客户端有关服务端的应答信息Server、Content-Type......

3)响应正文:待测试的数据

html--文本检索、样式内容浏览器检查

xml、json--解析后获取关键数据

三、接口测试说明

1、流程:输入数据->发送请求->输出结果->获取响应->检查响应

特点:端到端测试;重点通过不同的输入数据组合,检查数据的传输:测试业务逻辑、测试数据库读写、覆盖代码分之。

2、为什么做接口测?

1.弥补传统UI测试的不足:

1)很多系统没有界面,只提供接口,无法通过界面的方式进行测试;

2) 你只测了前端页面可以测试的功能,服务端的功能你又覆盖了多少?

服务端的所有的功能接口都正常吗?每个接口返回的每个字段是否正确?绕过前端的校验,接口是否有必要的异常处理(长度、非空)?当APP的代码不更新,而服务端代码更新时,直接通过接口自动化测试就能快速知道是否影响APP的功能。

3)安全方面--1'OR'1'='1

接口返回的字段中是否包含多余的信息(比如用户ID,token等敏感字段)用户密码、其他用户隐私信息传输时都需要进行加密后传输;接口是否存防刷限制

3.怎么设计接口测试用例?依据API文档

a.类似于黑盒功能测试,区别在于:通过参数组合覆盖代码逻辑,理论上来说,对于单个接口要覆盖到所有正常和异常分支等价类划分、边界值分析、错误推算法

b.性能测试:压力测试、稳定性测试

c.接口安全测试:加密规则、策略性规则、xss攻击/sql注入

4.对于响应结果如何验证?

a.验证接口响应状态码码200

b.响应报文是否包含关键信息比如userid=10

c.响应报文关键字段是否存在

d.响应报文关键字段,是否正确:格式->调用其余接口查询->查询数据库




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值