| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 「纯干货」接口项目/接口框架通通都有,都给你 -> 正文阅读 |
|
[Python知识库]「纯干货」接口项目/接口框架通通都有,都给你 |
对于众多想学习接口自动化的同学来说,一直苦于没有接口项目,今天提供给大家一个人人可用的项目,那就是企业微信,每个人都可以自行注册申请,本文将带领大家采用python+requests+pytest框架来实现企业微信接口的自动化测试 :
企业微信 https://work.weixin.qq.com/,自行注册
2.接口测试用例设计 熟悉创建部门的业务 在页面上创建部门只有一个字段 而创建部门接口上的参数有很多 接口测试用例设计 页面上看到的业务参数远远比接口层的参数少很多 为什么要做接口测试?
创建部门接口测试用例 可以把接口的每一个参数都想象成一个输入框,输入框的测试用例大家都会,然后根据各个字段的规则进行设计,等价类、边界值、错误推测、正交,这些都是每个人都可以想到的,建议大家多考虑业务场景的测试用例设计 主要完成基于业务场景的测试用例设计: 部门添加正确,{“name”:“教学部”,“name_en”:“RDGZ”,“parentid”:1,“order”:1,“id”:2} 部门添加正确-只有必填项,{“name”:“python教学部”,“parentid”:1} 部门名称重复,{“name”:“教学部”,“name_en”:“RDGZ1”,“parentid”:1,“order”:1,“id”:3} 部门英文名称重复,{“name”:"教学部 1",“name_en”:“RDGZ”,“parentid”:1,“order”:1,“id”:4} 父级部门不存在,{“name”:"教学部 2",“name_en”:“RDGZ2”,“parentid”:1000,“order”:1,“id”:5} 部门id重复,{“name”:“教学部3”,“name_en”:“RDGZ3”,“parentid”:1,“order”:1,“id”:2} 3.接口测试框架搭建 搭建接口测试框架
pip install pytest
pip install requests
pip install allure-pytest
框架结构 api: 存放单接口的定义脚本 common: 存放基础的公共方法,比如requests的封装、文件读取、日志处理 config: 存放配置文件,比如数据库配置信息、接口域名管理 report: 存放allure的测试报告 testcases: 存放测试用例脚本,测试用例是通过调用各个单接口来组装业务测试用 例脚本 conftest.py: 存放pytest的公共fixture以及钩子函数的 pytest.ini: pytest执行的相关配置 run.py: 整个项目的执行入口 调试企业微信认证接口 接口都有权限相关的认证机制,所以需要先熟悉接口的认证机制,对于企业微信项目来说: 参考如下地址:https://work.weixin.qq.com/api/doc/90000/90135/91039 corpid: xxxxxxxxxxxxxxxx corpsecret: 密钥获取需要下载企业微信App 编写access_token的获取脚本
基础方法指的是什么? 因为我们目前是在开发接口测试框架,因此接口请求的收发是我们最最最基础的一个方法 在commons目录下创建一个文件client.py,写上如下代码: 5.实现api层各个接口的定义 首先封装base_api 实现认证token获取的接口 实现创建部门单接口的定义 实现获取部门单接口定义 实现删除部门单接口定义 6.实现testcases测试用例层 针对创建部门这个接口实现参数化数据驱动测试 7.conftest.py 实现token获取及数据清理 为了解决上述问题,我们conftest.py中增加代码如下: 8.编写pytest.ini配置文件 可以用来配置pytest相关参数 9.编写run.py 该文件主要用于整个项目的执行,并且可以自动执行allure命令生成测试报告 10.执行后查看报告 11.上述框架中的不足 如果我们要封装一个适应不同项目的接口自动化测试框架,那么上述内容只是一个架子,我们还需 要更多增加更多的东西来实现接口自动化测试中的各种情况,比如接口自动化执行的日志、随机数据的 生成、redis数据校验、数据库数据校验、参数的动态处理、测试数据文件处理(excel/yaml等)、加解密 处理、分布式执行、持续集成等等,所以还需要读者们自行封装。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年12日历 | -2024/12/26 13:41:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |