<>1. 接口自动化流程

* 需求分析
请求:url、方法、数据
响应:响应数据、状态码

* 挑选需求做自动化测试
时间、人员、接口复杂度

*
设计测试用例

*
搭建自动化测试环境

如python、pycharm

* 设计测试项目的架构
报告、参数化、用例执行框架

* 编写代码
* 执行测试用例
unittest、pytest

* 生成测试报告
<>2.接口清单整理

* 收藏文章
* 请求
1)请求url:
2)请求方法:POST/GET
3)请求参数:Headers = {. }
4)请求报文:Body
* 响应
1)响应状态码:
2)响应数据:
<>3.用例设计

* 1.单接口的用例设计

模板:
id、模块、接口名称、请求url、用例名称、请求方法、请求参数类型、请求参数、预期结果、实际结果、备注
注意:单接口用例设计的颗粒度较小(以测试数据为颗粒度)

* 2.业务功能的用例设计
多接口模板:
d、模块、接口名称、请求url、用例名称、请求方法、请求参数类型、请求参数、预期结果、实际结果、备注
注意
<>4. 项目搭建

自动化测试目录结构

* 接口对象层api
1)登录 login.py
2)获取登录列表


* 用例业务实现层 case
1)tese_login.py


* 用例报告report
报告.html

* 工具层 tools
* 数据层 data
1)login.json


* 运行入口 run_sutie.py
<>4.1接口对象层

1.login.py
# 实现登录接口对象封装 # 导包 requests import requests # 新建类 登录接口对象 class
ApiLogin(object){ # 新建方法 登录方法 def api_login_post(self,url,mobile,code): #
headers定义 headers = {"Content-Type":"application/json"} # data定义 data =
{"mobile": , "code":} # 调用post并返回响应对象 return
requests.post(url,headers=headers,json=data) }
url、mobile、code需要从data数据文件读取,做参数化使用,这里使用动态传参

2.test_login.py
// 1.导包 unittest 、ApiLogin import unittest form ApiLogin import // 2. 新建测试类
继承unittest.TestCase class TestLogin(unittest.TestCase): def test_login(self):
// 暂时保存数据 url = mobile = code = // 调用登录方法 obj =
ApiLogin().api_post_login(url,mobile,code) // 测试使用 print(‘查看测试结果’,obj.json())
// 断言 响应信息 、响应状态码 self.assertEquals("OK",obj.json()['message']) // 响应状态码
self.assertEquals(201,obj.status_code) // 3. 新建测试方法 test_login() 1)参数化数据准备
url,mobile,code 2)实例化 ApiLogin()类并调用登录方法 3)断言 响应信息 、响应状态码
解决数据存储问题
在data文件夹中创建一个login.json的文件

步骤:

* 编写数据存储文件login.json
data文件夹

* 编写读取json工具
tools文件夹
# 导包 # 新建读取工具类 1.使用初始化方法,获取要读取的文件名称 1)self.filepath = '.../data/'+filename 2.
读取文件方法 1)打开json文件获取文件流 2)调用load方法加载文件流 3)返回结果

* 使用参数化动态获取参数数据
parameterized参数化组件

* pip install parameterized
* @parameterized.expand(参数)
1). 单个参数:列表格式 [值1,值2]
2). 多个参数:列表嵌套元组[(参数1),(参数2)] // 导包 import unittest from parameterized import
parameterized // 新建测试类 class TestPara(unittest.TestCase): // 新建测试方法

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信