# -*- coding: utf-8 -*-
# 2021/8/22
# 微服务架构,更新某个单独功能其他模块正常工作。
# DevOps,比敏捷开发多了运维的加入。
# 自动化比人工效率高,是持续交付和持续集成的核心。
# 前端:APP界面、网页前端展示
# 后端:数据处理
# 接口测试目标:
# 1.发现客户端没有发现的bug
# 2.及早爆出风险
# 3.检查系统安全性、稳定性
# 4.接口稳定了,后端随便改
# 接口分为内部接口和对外接口,有web接口,应用程序接口,数据库接口
# 和后端进行交互是接口测试
# 接口自动化大致流程:
# 项目业务------->接口文档-------->接口用例------->python脚本----
#---->pytest框架-------->调试&执行------->allure报告------->结果分析
# 外卖项目:基于后端spring boot和前端vue的前后端分离技术架构。
# 包含后端API、用户H5手机端、管理员web端、商户web端。系统管理数据使用MySQL,业务数据使用MongoDB,
# 数据库连接池使用Druid
#数据库连接池(Database Connection Pooling)在程序初始化时创建一定数量的数据库连接对象并将其保存在一块内存区中,
# 它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接
# 以避免因为没有释放数据库连接而引起的数据库连接遗漏。
# 即在程序初始化的时候创建一定数量的数据库连接,用完可以放回去,下一个在接着用,
# 通过配置连接池的参数来控制连接池中的初始连接数、最小连接、最大连接、最大空闲时间这些参数
# 保证访问数据库的数量在一定可控制的范围类,防止系统崩溃,使用户的体验好
# 访问层------>代理层(Nginx)------->前端------->后端-------->数据库层
# 主要功能:我的商铺、食品管理、订单管理
# 账户:th0004
# 密码:11449
# 外卖系统网址:http://121.41.14.39:8082/shop/index.html#/login
# 接口文档:开发给、自己抓包、swagger在线接口文档
# HTTP协议解读:
# 请求行:请求方法,请求url,http协议及版本
# 请求头:报文头
# 空格
# 正文(可为空):报文体
#
# Fiddler使用技巧:
# 接口的body和params参数
# url组成:http://ip:端口/路径?a=1&b=2
# requests.post(body=参数)
# requests.post(params=参数),可以把参数放url里
#
# 正向代理fiddler,浏览器<---->fiddler<----->服务器
# 反向代理Nginx做负载均衡,nginx---->tomcat1/2
#
#商家模块-->登录模块----->业务管理模块
#登录模块:
# 1登录相关的接口自动化
# 2作为后续接口的认证模块。
# 鉴权机制:cookies:jsessionid
# token
# 自定义鉴权
#业务模块:店铺、食品
#构建接口请求
import requests
def login():
HOST = 'http://121.41.14.39:8082'
#url
url = f'{HOST}/account/sLogin'
#参数
payload = {'username':'th0004','password':'11449'}
#发请求
resp = requests.post(url, data=payload)
#字典单引号,json双引号
print(resp.text)#json格式,字符串
# print(resp.json())#返回字典
'''
data:默认请求体的数据类型是表单格式
json:默认请求体的数据类型是json格式
params:参数放到url的?后面
files:文件上传接口
'''
#查看响应结果
#接口报错:看自己发出的内容
#打印请求体
print('登录接口的请求体>>>>',resp.request.body)
#打印url
print('登录接口的url>>>>',resp.request.url)
#打印请求头,头都是字典
print('登录接口的请求头>>>>',resp.request.headers)
#打印响应头,头都是字典
print('登录接口的响应头>>>>',resp.headers)
#接口的关联操作中,鉴权token封装在headers中
if __name__ == '__main__':
login()
初会接口自动化
最新推荐文章于 2024-12-14 15:35:43 发布