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 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 接口自动化测试 -> 正文阅读

[开发测试]接口自动化测试

一、接口测试框架

接口练习地址:https://httpbin.testing-studio.com/

1.1、测试框架基本能力

  • 项目管理:pip、virtualenv
  • 用例编号:pytest
  • 领域能力:app、web、http
  • 执行调度:pytest、pycharm、shell、jenkins
  • 测试报告:allure2

1.2、HTTP测试能力

  • 请求方法构造:get、post、put、delete、head。。。
  • 请求体构造:form、json、xml、binary
  • 响应结果分析:status code、response body、json path、xpath

1.3、Requests框架

  • 功能全面:http/https支持全面
  • 使用简单:简单易用、不用关心底层细节
  • 定制性高:借助于hook机制完成通用处理

复杂数据解析

数据保存:将复杂的xml或者json请求体保存到文件模板中
数据处理:

  • 使用mustache、freemaker等工具解析
  • 简单的字符串替换
  • 使用json xml api进行结构化解析

数据生成:输出最终结果

1.4、模板技术mustache

pip install pystache
import pystache

pystache.render(
	'Hi, {{person}}!',
	{'person': 'cjw'}
)

>>> Hi, cjw!

1.5、结构化响应断言 JSON XML

json path断言

pip install jsonpath
from jsonpath import jsonpath

def test_assert_json(self):
	r = requests.get(self.url)
	assert r.status_code == 200
	assert r.json()['category_list']['categories'][0]['name'] == '开源项目'
	# jsonpath断言
	assert jsonpath(r.json(), '$..name')[0] == '开源项目'

在这里插入图片描述

1.6、hamcrest 断言体系

一般用于复杂的断言

pip install PyHamcrest
from hamcrest import *

def test_hamcrest(self):
	r = requests.get(self.url)
	assert_that(jsonpath(r.json(), '$..name')[0], equal_to('开源项目'))

1.7、schema校验

pip install jsonschema

1.8、schema自动校验

  • 每次运行的时候自动保存当前的schema
  • 下次运行对比上次的schema如果发现变更就报错
  • saveSchema + diffSchema

二、header cookie 处理

2.1、Cookie简介

Cookie的使用场景

在接口测试过程中,很多情况下,需要发送的请求附带cookies,才会得到正常的响应的结果。所以使用python+requests进行接口自动化测试也是同理,需要在构造接口测试用例时加入cookie。

传递Cookie的两种方式

  • 通过请求头信息传递
  • 通过请求的关键字参数cookies传递

2.2、认证体系

2.2.1、http basic

基本认证:是允许http用户代理在请求时,提供用户名和密码的一种方式

GET /private/index.html HTTP/1.0
Host: localhost
Authorization: Basic QWxhzGRpbjpvcGVuIHNlc2FtZQ==

在自动化测试的过程中,可以使用requests库中的auth参数传递认证信息,通过requests.auth 包中的HTTPBasicAuth类构造认证信息。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:31:53  更:2021-07-15 16:32:35 
 
开发: 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年5日历 -2024/5/8 4:26:35-

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