接口测试框架搭建D22

整体架构和分层设计

  • run.py   运行测试用例,生成测试报告

  • test_cases/

    • 登录用例

    • 注册用例

    • 其他业务用例...

  • data/

    • 测试数据

  • libs   第三方插件,比如HTMLTestRunnerNew

  • config

    • config.yaml 静态配置数据

    • config.py 动态配置数据

  • reports  测试报告(time模块保证测试报告不会被覆盖)

  • common

    • excel_handler  从表格读取测试用例数据

    • logging_handler 生成日志

    • mysql_handler 连接数据库及从数据库查询数据

    • requests_handler 请求二次封装

    • yaml_handler 从yaml读取配置信息

  • logs 生成的日志文件

## 接口测试框架搭建

1.unittest 单元测试框架

2.excel 测试数据

3.ddt 数据驱动

4.logging 日志管理

5.yaml 配置文件

## logging日志管理

-日志种类:

- 控制台信息

- 文件形式

## 日志的作用

- 出现问题以后 排查问题

- 定位问题

- 记录运行流程

## logging 模块的作用

1.日志级别 debug info warning error critical

2.记录日志 logging.info(“日志信息”)

### 接口概述

主要定义接口的一些通用的规则,是后端工程师指定的。

###  路径问题--动态

- 可以放到配置文件,因为项目运行过程当中不会发生变化,但是对于不同的项目有可能变化

- 不用yaml,yaml放置静态数据

- 放到一个python模块当中

### 测试报告的路径

- 路径处理

- 时间戳添加到测试报告名称

### 请求数据的格式转化

- headers

- data数据格式

- 从excel读取的字符串转化成字典

- 通过 eval()

json和字典相互转化:

json.loads() json转化成python字典

json.dumps() python字典转化成json

### 断言

- 全量断言(所有的数据都要进行比对)

- 部分断言。code msg

### yaml配置文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/821301.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac搭建Java环境【环境搭建】

Mac搭建Java环境【环境搭建】 1 安装Java SDK 官网地址:https://www.oracle.com/java/technologies/downloads/archive/ 下载dmg,双击之后无脑安装即可。 # 进入 JDK 安装目录 cd /Library/Java/JavaVirtualMachines# 查看文件 ls# 输入 cd ~# 打开环…

代码随想录训练营第三十五期|第天15|二叉树part02|层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2

102. 二叉树的层序遍历 - 力扣(LeetCode) /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode…

DG怎样手动切主从-用普通命令方式(不用dg broker)

这里主库是orcl,从库是orclstd 一 将主库降为从库 1.1查看主库SWITCHOVER_STATUS的状态 #确认主库是否可以做switchover #不能切换的情况 SQL>SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS ------------------ SESSIONS ACTIVE 在这种…

别踩白块web小游戏

整体思路 1.设置一个游戏界面main(最外面一圈方框) 2.main内部放置一个容器container,容器非常长,且容器底部位于main的顶部 3.将容器内的黑块和白块事先处理好,并将黑块存储在黑块数组中 容器黑白块处理&#xf…

【开发问题记录】Nacos修改服务实例权重时报错

问题记录 一、问题描述1.1 产生原因1.2 产生问题 二、问题解决2.1 docker部署的nacos解决方案2.1.1 进入nacos容器2.1.2 查看当前目录2.1.3 进入data文件夹2.1.4 删除protocol文件2.2 本地部署的nacos 一、问题描述 1.1 产生原因 在运行项目时,在本地启动了一个服务…

vue3项目 使用 element-plus 中 el-collapse 折叠面板

最近接触拉了一个项目,使用到 element-plus 中 el-collapse 折叠面板,发现在使用中利用高官网多多少少的会出现问题。 (1.直接默认一个展开值,发现时显时不显 2 . 数据渲染问题,接口请求了,页面数据不更新 …

js 截取指定字符后面/前面的所有字符串...

项目场景 在 JavaScript 中,你可以使用 substring() 或 substr() 方法来截取字符串中指定字符前面或后面的所有字符。 再配合**indexOf()**方法来判断字符所在的位置从而实现截取指定字符的前后字符串 解决方案: //js 截取指定字符后面/前面的所有字…

类激活映射详解

类激活映射(CAM, Class Activation Mapping)是一种常用于卷积神经网络(CNN)的技术,用来识别和解释模型在进行图像或时间序列分类任务时,哪些区域对最终分类决定起到了关键作用。下面,我将详细解…

大数据平台搭建2024(一)

一:基础配置 创建虚拟机并查出ip地址进行连接 ip a1.配置node01静态ip地址与主机名 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改或添加如下内容: BOOTPROTO"static" ONBOOTyes #根据虚拟机网卡信息配置 IPADDR192.168.200.141 NET…

360度VR全景汽车漫游展示让爱车者能感受真实的驾驶体验

小米汽车的惊艳亮相,让无数爱车族心潮澎湃。然而,对于因时间和地理限制无法亲临现场的人来说,这份激动或许带有些许遗憾。如今,有了3D虚拟看车软件,这一切不再是问题。 web3D开发公司深圳华锐视点通过运用尖端的web3D开…

IntelliJ IDEA2024 安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 IDEA(Integrated Development Environment for Apache) 是一款专为 Apache 开发者设计的集成开发环境。该软件提供了丰富的功能和工具,帮助开发者更高效地创建、调试和部署 Apache 项目。 主…

hot100 -- 链表(中)

不要觉得力扣核心代码模式麻烦,它确实比不上ACM模式舒服,可以自己处理输入输出 只是你对 链表 和 return 的理解不到位 👂 ▶ 屿前世 (163.com) 👂 ▶ see you tomorrow (163.com) 目录 🎂两数相加 🚩删…

python 绘制六种激活函数(sigmoid、tanh、relu、softmax、relu、elu)

1、效果 2、实现代码(带注释) import numpy as np # 导入 numpy 库, 用于数学运算 import matplotlib.pyplot as plt # 导入 matplotlib.pyplot, 用于绘图 import matplotlib as mpl # 导入 matplotlib 库, 用于图形配置plt.rcParams[font.sans-se…

mysql奇葩问题union

单独执行第一条,有三条结果; union之后,只有一条结果; union自动的把重复数据合并了;

使用Python生成100到算术题

需求描述:生成100道包含加法、减法、乘法、除法题目的数学题。 import random import pandas as pddef generate_math_questions(num_questions, question_types[addition, subtraction, multiplication, division], difficultyeasy, range_start1, range_end10):&…

Vue基础使用之V-Model绑定单选、复选、动态渲染选项的值

这里要说明一下&#xff0c;在v-model 绑定的值是id还是value是和<option>中的v-bind保持一致的&#xff0c;如第四个&#xff0c;如果是 <option :value"op[1]" 那v-model绑定的就是数组第二项的值2&#xff0c;4&#xff0c;6 如果是 <option :va…

《AI编程类工具之一——CodeArts Snap》

一.简介 CodeArts Snap是一款基于华为云研发的智能开发助手&#xff0c;它覆盖软件开发的全生命周期&#xff0c;提供端到端的智能支持。该工具的核心功能包括代码生成、研发知识问答、单元测试用例生成、代码解释、代码注释、代码翻译、代码调试以及代码检查等八大方面&#…

软件开发的20条原则

原则是工作的准则,代表了许多人从经验中总结出来的集体智慧 源自《软件开发的201个原则》 需求 需要明确 需求是什么?需求有具体文档记录吗?需求经过多方评审了吗?需求合理吗?需求投入产出比如何?原则46:避免再需求分析时进行系统设计 需求分析:定义系统/软件的黑盒行…

Arduino通过I2C驱动MT6701磁编码器并读取角度数据

Arduino通过I2C驱动MT6701磁编码器并读取角度数据 &#x1f4cd;相关篇《Arduino通过Wire库读取AS5600编码器数据》 ✨测试了使用STM32硬件I2C扫描其地址失败。使用软件I2C可以。 &#x1f4d1;MT6701&#xff08;基于差分霍尔的磁性角度传感器芯片&#xff09;芯片特性简介 &…

WPF中DataGrid主从数据(父子数据)展示

在wpf中可以使用DataGrid控件,进行主从数据展示,也称父子数据展示。下面展示纯原生控件编码实现功能(样式自己可以根据需求进行修改)。 效果如下: 点击图标,展开和收缩可以自由的切换,也可以自己重新写一个样式,比如+,-或者类似图标的样式,都是可以的。 1.首先创建一…