当前位置: 首页 > news >正文

【接口自动化测试】

目录

1、接口自动化流程

2、requests模块

2.1、常见的请求方法

2.2、添加请求信息


1、接口自动化流程

接口自动化流程是面试考点

需求分析、挑选自动化接口、测试用例设计、搭建测试环境、设计测试框架、编写代码、执行测试、生成测试报告

1)需求分析

分析请求:明确接口的URL、请求方法、请求头、请求参数和请求体

分析响应:确定接口返回的数据格式,状态码、可能的错误信息

2)挑选自动化接口

3)设计自动化测试用例

根据接口的需求和功能,设计正向测试用例(正常场景)和反向测试用例(异常场景),包括边界值测试、参数组合测试等

4)搭建自动化测试环境

选择变成语言、开发环境(pycharm)来实现。如果选择python的话,安装必要的依赖库

5)设计自动化框架

设计一个框架来执行测试用例,包括报告生成、参数化处理和用例执行逻辑

6)编写代码

根据设计好的测试用例和框架来编写自动化测试脚本

7)执行用例

使用测试框架(如unittest、pytest)来执行编写的测试用例

8)生成测试报告

2、requests模块

安装:pip install requests==2.31.0

requests库是一个非常流行的HTTP客户端库,用于发送HTTP请求,requests.get就是发送一个get请求到指定的URL。request.get返回一个Response对象,这个对象包含了服务器返回的所有信息

r = requests.get("URL")

Response(返回值r)对象提供的属性/方法介绍:

2.1、常见的请求方法

r=requests.GET()/r=requests.request(method="GET")

eg:

import requests
get_r = requests.get("https://www.baidu.com")
post_r = requests.post("https://www.baidu.com")
req_r1 = requests.request(method="get", url="https://www.baidu.com")
req_r2 = requests.request(method="post", url="https://www.baidu.com")
print("get:", get_r.status_code)
print("post:", post_r.status_code)
print("method_get:", req_r1.status_code)
print("method_post:", req_r2.status_code)

运行结果:

2.2、添加请求信息

请求参数(data(POST)、json、params)(比如登录要传参账号、密码就要用data={})

请求头(header、cookies)

请求参数

请求头

例一:

下图是登录页面返回的json格式的数据:

下图是博客详情页请求头的数据:

也就是说:在博客系统里,登录接口返回了用户的登录凭证,后续请求其他的接口需要在请求头中添加上User_token_header

这个是博客详情页的,因为必须要先登录才能看,所有必须要加请求头:

例二:

一般我们用GET的时候,请求参数就用params。POST请求,是一个表单格式的话就用data

我们可以写r = requests.post(url=url、参数)

还可以写:r = requests.request(method="POST",url=url,参数)

例三:添加cookie信息

问题:上传数据是选择data、json还是params呢?(登录的时候用post)

http://www.lryc.cn/news/614177.html

相关文章:

  • FastAPI的BackgroundTasks如何玩转生产者-消费者模式?
  • 关于 Rust 异步底层实现中 waker 的猜测
  • #C语言——刷题攻略:牛客编程入门训练(六):运算(三)-- 涉及 辗转相除法求最大公约数
  • GPT OSS 双模型上线,百度百舸全面支持快速部署
  • 创建MyBatis-Plus版的后端查询项目
  • SQL Server 2019搭建AlwaysOn高可用集群
  • 模块 PCB 技术在未来通信领域的创新突破方向
  • Cisco 2018-2023年度互联网报告深度解析:数字化转型时代的网络发展趋势与战略洞察
  • kafka 为什么需要分区?分区的引入带来了哪些好处
  • SpringMVC(四)
  • 前后端日期交互方案|前端要传时间戳还是字符串?后端接收时是用Long还是Date还是String?
  • 机器学习 SVM支持向量机
  • 虚幻基础:场景actor与角色的碰撞
  • (0️⃣基础)程序控制语句(初学者)(第3天)
  • Javase-异常
  • Idea配置——build system的选项区别
  • SpringBoot激活指定profile的方式
  • 灰狼算法+四模型对比!GWO-CNN-LSTM-Attention系列四模型多变量时序预测
  • 《汇编语言:基于X86处理器》第12章 浮点数处理与指令编码(2)
  • 准确----SFTP新增用户
  • 三步完成,A100本地vLLM部署gpt-oss,并启动远程可访问api
  • 串口转以太网实战:S7-200驱动大棚温湿度监控、HMI与通风设备
  • Vue框架进阶
  • FPGA实现Aurora 64B66B数据回环传输,基于GTX高速收发器,提供2套工程源码和技术支持
  • 机器学习支持向量机(SVM)
  • 论文精读(二)| 开源软件漏洞感知技术综述
  • 深度学习·MAFT
  • Linux中的内核同步源码相关总结
  • 2025华数杯数学建模A题【 多孔膜光反射性能的优化与控制】原创论文分享
  • 提升LLM服务效率的秘密武器——vLLM!