2.接口测试与HTTP协议 什么是接口测试? HTTP请求: 简单接口测试流程 https协议代码

什么是接口测试?

接口(API): 用于前后端的交互的
接口的分类:



练习的项目:外卖系统
项目描述:本项目基于spring boot和vue的前后端分离技术架构。功能完善,包含:后端API、用户H5手机端、管理员WEB端、商户WEB端。主要功能包括:我的商铺(卖家商铺信息管理),食品管理(商铺食品的常规操作),订单管理(订单信息管理)等

项目框架:
前端:vue.js
后端:Spring Boot
数据库层:mysql+monggodb
数据库连接池:Druid
缓存:Ehcache


HTTP请求:

请求报文格式:四个部分
第一部分:请求行。独占一行的。由:请求方法、请求路径、请求协议/版本组成。
第二部分:请求头。从第二行到第N行。由键值对 组成。可以有1对,也可以有N对。key:value
第三部分:空行。独占一行的。由回车换行组成。
第四部分:请求正文(请求消息体)。

常见请求头含义:
1、User-Agent:告诉服务器客户端的相关信息(如果是浏览器会有版本,内核等信息)
2、referer:告诉服务器,此请求是从哪个页面上发出来(防盗链)
3、X-Requested-With:告诉服务器这个是一个ajax请求
4、Cookie:带给服务器的cookie信息
5、content-type:告诉服务器消息体的数据类型
application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml

HTTP响应报文
响应报文格式:四个部分组成
第一部分:状态行,独占一行。由协议/协议的版本、状态码、状态描述符组成
第二部分:响应头,从第二行到第N行。由键值对组成。
第三部分:空行。独占一行的。由回车换行组成。
第四部分:响应的正文

常见响应头含义:
1、location:告诉浏览器跳到哪里
2、content-length:告诉浏览器回送数据的长度
3、content-type:告诉浏览器回送数据的类型


简单接口测试流程

1、确定请求方法(post,get,put,delete)
2、确定接口url
3、请求体
4、请求头
不需要写头的情况:这个接口没有特殊的头数据,或只要求写content 他type
需要写头的情况:这个请求头里有其他接口(如:登录接口)给的数据。如:token,cookies
5、响应
说明:以上数据通过接口文档或抓包课获取

import requests
HOST = 'http://121.41.14.39:8082' #  常量用全大写 :协议+ip+端口+路径
def login(data):
# 1  URL
url = f'{HOST}/account/sLogin'
# 2 请求体
payload =data
# 3 请求头 (此处不需要)
# 4 发请求
res = requests.post(url,data=payload) # data 为表单,json为json
# 5 响应体
print(res.text)

if __name__ == '__main__':
  test_data={'usernane':'test001','password':'ahuy5gshcbdmappwy88'}#  password为加密后数据
  login(test_data)

requests库的请求类型:



请求相关信息:



https协议代码

#https协议
HOST = 'https://120.55.190.222'
import requests
#处理https警告
requests.packages.urllib3.disable_warnings()
def login():
   #1- url
   url = f'{HOST}/api/mgr/loginReq'
   #2- 请求体
   payload = {'username':'auto','password':'sdfsdfsdf'}
   #3- 请求
   resp = requests.post(url,data=payload,verify = False)#不使用SSL
   return resp.text
if __name__ == '__main__':
   res = login()
   print(res)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章