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 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 「纯干货」接口项目/接口框架通通都有,都给你 -> 正文阅读

[Python知识库]「纯干货」接口项目/接口框架通通都有,都给你

对于众多想学习接口自动化的同学来说,一直苦于没有接口项目,今天提供给大家一个人人可用的项目,那就是企业微信,每个人都可以自行注册申请,本文将带领大家采用python+requests+pytest框架来实现企业微信接口的自动化测试 :

  1. 接口项目

企业微信 https://work.weixin.qq.com/,自行注册

  1. 点击API文档

图片

  1. 点击企业内部开发

图片

  1. 点击服务端API

图片

  1. 点击左侧菜单【通讯录】->【部门管理】,本文将主要采用以下业务接口来学习

在这里插入图片描述

2.接口测试用例设计

熟悉创建部门的业务

在页面上创建部门只有一个字段

图片

而创建部门接口上的参数有很多

图片

接口测试用例设计

页面上看到的业务参数远远比接口层的参数少很多

为什么要做接口测试?

  1. 后端开发已经完成,前端页面还没完成,此时可以提前介入进行后端接口的测试

  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.接口测试框架搭建

搭建接口测试框架

  1. 安装python

  2. 安装pytest,单元测试框架

pip install pytest

  1. 安装requests,接口请求库

pip install requests

  1. 安装allure-pytest, 测试报告

pip install allure-pytest

  1. 安装allure命令行工具,并配置环境变量

  2. 安装pycharm

  3. 创建项目

图片

框架结构

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的获取脚本

在这里插入图片描述

  1. 实现common下的基础方法封装

基础方法指的是什么?

因为我们目前是在开发接口测试框架,因此接口请求的收发是我们最最最基础的一个方法

在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等)、加解密 处理、分布式执行、持续集成等等,所以还需要读者们自行封装。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:10:10  更:2022-09-13 11:10:34 
 
开发: 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-

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