IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 接口测试2 -> 正文阅读

[开发测试]接口测试2

1.接口测试工具的不足

  • 测试数据不可控

  • 无法测试加密接口(工具支持的语言和我们掌握的语言不一致)

  • 扩展性差

没有任何一款工具适用于所有项目

2.Python---requests库

2.1接口测试的难点

  • 接口协议HTTP

  • 接口请求方式

    • get

      • 带参数

      • 不带参数

    • post

      • form-data

      • x-www-form-urlencoded

      • json

      • binary

    • put

    • delete

  • 难点

    • 每一项目逻辑不同

    • 接口针对业务逻辑

    • 每个项目请求方式/请求参数/返回值都可能不一样

2.2requests库

2.2.1安装

  • pip install requests

  • python -m pip install requests

2.2.2使用

# 1.导包
import requests
# 2.准备接口三要素
# 请求地址+请求方式
url = "http://127.0.0.1:8000/api/departments/"
# 请求参数
# 发送请求
response = requests.get(url=url)
# 返回值
print(response)
?

2.2.3post请求

https请求失败时,将verify参数改成False

  • 请求参数是form-data格式

? ? ? ? ? 需要安装requests_toolbelt:pip install requests_toolbelt

from requests_toolbelt import MultipartEncoder
url = "https://httpbin.org/post" ?# 请求地址
# 请求参数
data = {
 ? ?"username":"Tom",
 ? ?"age":"6",
 ? ?"hubby":"Jerry"
}
# 重新组合header
m = MultipartEncoder(fields=data)
headers = {
 ? ?"contentType":m.content_type
}
# 发送请求
response = requests.post(url=url,data=data,headers=headers, verify=False)
print(response.text)
?
?
#总结
# 1.导入requests_toolbelt
# 2.重新组合headers(请求头)
#针对请求头中contentType:
 ? ?# m = MultipartEncoder(fields=data)  data:是接口的请求数据
 ? ?# contentType:m.content_type
# 3.发送请求时,重新传入headers
# verify=False  表示requests请求https协议的地址
#SSL
  • 请求参数格式为x-www-form-urlencoded

import requests
# post请求-----请求参数为x-www-form-urlencoded格式
url = "https://httpbin.org/post" ?# 请求地址
# 请求参数
 data = {
 ? ? "username":"Tom",
 ? ? "age":6,
 ? ? "hubby":"Jerry"
 }
 # 发送请求
 response = requests.post(url=url, data=data)
 print(response.text)
?
# 总结
# 参数写成python中的字典格式
# 使用requests.post(url,data)
  • 请求参数为json格式

# post请求----请求参数为json格式
 url = "https://httpbin.org/post" ?# 请求地址
 # 请求参数
data = {
 ? ? "username":"Tom",
 ? ? "age":6,
 ? ? "hubby":"Jerry"
 }
 # 发送请求
 response = requests.post(url=url, json=data)
 print(response.text)
 ? ?
# 总结
# 参数写成python中的字典格式
# 使用requests.post(url,json)
  • 请求参数为binary时

# post请求---参数类型为binary
?
url = "https://httpbin.org/post" ?# 请求地址
# 请求参数
files = open("test.txt","rb")
data = {"file":files}
# 发送请求
response = requests.post(url=url, files=data, verify=False)
print(response.text)
?
# 总结
# 请求数据字典格式
字典的键自定义
字典的值--读取文件
# 使用requests.post(url,fies)
?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:28:06  更:2022-03-06 13:29:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:57:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码