深圳专业网站建设定制,网站空间流量6g,上饶建设网站,外包加工网是正规的吗文章目录 认识urlhttp协议接口规范Postman实现接口测试设计接口测试用例使用软件发送请求并查看响应结果Postman 自动关联Postman如何提交multipart/form-data请求数据Postman如何提交查询参数Postman 如何批量执行用例单接口测试Postman 断言Postman参数化 接口测试自动化requ… 文章目录 认识urlhttp协议接口规范Postman实现接口测试设计接口测试用例使用软件发送请求并查看响应结果Postman 自动关联Postman如何提交multipart/form-data请求数据Postman如何提交查询参数Postman 如何批量执行用例单接口测试Postman 断言Postman参数化 接口测试自动化request入门自动化实现 认识url
互联网上标准资源的地址一般称为统一资源定位符组成协议://hostname:[port]/path/[?查询参数1查询参数2]示例 https://www.baidu.com/s?ieutf-8f8rsv_bp1tn84053098_3_dgwdmysql%20descoqmysql%2520%25E5%25AD%2597%25E7%25AC%25A6%25E4%25B8%25B2%25E9%2595%25BF%25E5%25BA%25A6rsv_pqa1182568005b8a7brsv_tc237j3Sa1r6hmKdWk1jv8fDNgTouU%2FaXxVtMvt9hnoX3bPes%2Flk6Xl7H06sI4yAoqIrCAQrqlangcnrsv_enter1rsv_dltbrsv_sug37rsv_sug17rsv_sug7100rsv_sug20rsv_btypetinputT2953rsv_sug43776 协议数据传输的格式如http、https服务器地址域名或ip示例中是www.baidu.com端口一个应用程序对外访问的唯一标识通常是80http、443https 协议默认的端口可以默认不写资源路径端口号后之前的部分参数客户端向服务器传递的数据参数与路径之间用隔开多个参数之间用隔开
http协议 http超文本传输协议基于请求与响应的应用层协议 作用规定了客户端与服务器之间的信息传递规范是二者共同遵守的协议 组成 HTTP请求定义请求数据格式 请求行、请求头、请求体常用的请求方法 GET从服务器获取资源POST从服务器新建一个资源PUT从服务器更新资源DELETE从服务器删除资源 请求头第二行到空白行之间 作用通知服务器客户端请求信息特点键值对每行一对Content-Type定义请求体的数据类型 text/html:htm格式image/jepgjpg图片格式application/jsonjson数据格式application/x-www-form-urlencoded表单默认的提交数据格式 请求体空白行之后的内容 作用传输数据实体请求体常在post、put方法中使用常配合的请求头Content-Type和Content-Length HTTP响应定义响应数据格式 状态行、响应头、响应体状态行响应数据的第一行 作用描述服务器的处理结果状态行由协议版本号、状态码、状态消息组成状态码 1xx指示信息2xx成功3xx重定向4xx客户端错误5xx服务端错误 响应头 位置第二行到空白行之间作用描述客户端要使用的一些附加信息特点由键值对组成每行一对 响应体 位置空行之后作用服务器返回的数据实体特点由图片、json、xml、html等多种类型 常见的状态码
接口规范
为什么要有接口规范 为了让前后端开发人员更好的配合提高工作效率。
传统接口风格
示例对用户进行操作的相关接口
RESTful一种网络应用程序的设计风格和开发方式提供一组设计原则和约束条件
示例
特点
1. 请求api的url用来定位资源
2. 通过标准的http方法对资源进行增删改查等操作
3. 利用http状态码返回状态信息两种接口风格有什么区别
Postman实现接口测试
设计接口测试用例
1. 提取测试点
使用功能测试的方法通过业务流程图梳理测试点提取业务路径到xmind中。2. 解析接口文档
问为什么要解析接口文档
答熟悉接口信息为设计接口测试用例做准备问接口文档一般由谁编写作用是
答一般由后端开发编写用来描述接口信息的文档问如何进行接口文档解析
答1分析接口之间的依赖关系2分析接口请求如 url请求方法请求头请求参数类型请求参数等3 分析接口响应如 响应状态码响应数据等3. 编写测试用例
根据接口文档和提取的业务路径编写测试用例
ID模块优先级用例名称接口名称前置条件请求URL请求方法请求头请求参数类型请求参数预期结果…
使用软件发送请求并查看响应结果
步骤
设置请求方式设置接口url设置请求头设置请求数据点击send 发送查看响应状态码查看响应数据
Postman 自动关联
步骤
在前一个用例的test 中获取响应结果并设置需要的值为环境变量 pm.response.json() 获取响应结果jsonpm.enviroment.set() 设置环境变量 在需要的用例中使用 {{变量名}} 来获取变量值
Postman如何提交multipart/form-data请求数据
步骤
设置请求方式设置接口url设置请求头设置请求数据body-form-data-file-选择上传文件点击send发送查看响应状态码查看响应数据
Postman如何提交查询参数
方法1直接在接口url后面跟查询参数方法2设置parameter区域
Postman 如何批量执行用例
点击测试集中的run按钮批量执行用例在弹出的Collection Runner窗口点击运行查看测试结果
单接口测试
分析接口文档提取测试点 xmind 脑图 根据测试点编写测试用例 excel
ID模块优先级用例名称接口名称前置条件请求URL请求方法请求头请求参数类型请求参数预期结果…
使用postman实现并执行测试用例 Postman 断言
断言的作用让工具代替人工自动判断实际结果跟预期结果是否一致Postman 如何进行断言
# 常用的断言方式有
# 1、断言响应状态码
pm.test(Status code is 200, function () {pm.response.to.have.status(200);});
# 2、断言响应text是否包含特定文本
pm.test(Body matches string, function () {pm.expect(pm.response.text()).to.include(string_you_want_to_search);});
#3、断言响应json 的某个值是否与预期结果相等
pm.test(Your test name, function () {var jsonData pm.response.json();pm.expect(jsonData.value).to.eql(100);});Postman参数化
参数化的作用提高测试脚本的复用性Postman如何实现参数化 准备数据文件 json文件每项数据以json形式组织成一个列表保存在json文件中引用数据文件 请求中使用{{变量名}}来引用变量在代码中使用data.变量名 来引用变量 执行用例
接口测试自动化
自动化测试框架目录结构
api封装接口信息data存放测试数据script编写测试脚本common存放通用工具类report存放测试报告config.py定义项目基本配置信息pytest.inipytest 配置文件
request入门
# 导包
import request
# 发送request请求并返回响应
# request.请求方法 发送相应的请求并返回响应结果
# 参数 json 提交json数据参数headers 提交 headers 数据
response request.get(url, json, headers)
# 打印响应
print(response.status_code)
print(response.text)
print(response.json()自动化实现
1、封装接口
# 在api文件夹中创建对应接口文件
# 在该文件中对该接口进行封装
# 导包
import request
# 创建接口类
class LoginAPI:# 初始化def __init__(self):# 定义当前接口urlself.image_api # 获取验证码url接口self.login_api http:... # 登录url接口# 封装接口并获取响应结果def image(self):return request.get(self.image_api)def login(self, login_data):return self.post(self.login_api, jsonlogin_data}2、编写测试用例
# 在script文件夹中创建py文件
# 导包
from api.login import LoginAPI
# 创建测试类
class TestLoginAPI():# setupdef setup():# 实例化接口对象login_api LoginAPI()# teardowndef teardown():pass# 编写测试用例def test_login_success():pass3、 数据驱动实现
# 导包
import pytest
# 定义数据每条数据以元祖的形式组织并通过列表组合起来
test_data [(1, 2...), ()]
# 在用例前使用pytest的装饰器
pytest.mark.parameterize(参数1参数2..., test_data)
def test_login(self, 参数1参数2...):pass4、json文件实现数据驱动 #将每条数据以json的形式组织然后通过列表组织起来放在data文件夹下保存为xxx.json 编写方法将json文件读取并将json列表组织的形式转化为元祖列表组织的形式 结合步骤3使用pytest的装饰器 pytest.mark.parameterize 以实现json文件数据驱动 5、config文件使用 congfig文件中保存基本的url 和 项目的路径等基本信息