接口自动化测试实战

news2024/11/19 8:53:15
测试前准备:

1、项目的介绍

是一个什么项目、项目技术、项目要测的接口和业务流程、业务路径=测试用例(通过业务流程来梳理业务路径)

2、链接和登录密码:

客达天下icon-default.png?t=O83Ahttp://huike-crm.itheima.net/#/clue

客达天下账号admin,密码:HM_2023_test

3、理解前端(客户端),后端(服务器),以及前后端分离

一、项目介绍
1、客大天下是什么
  • 一款销售管理系统
2、客达天下有什么?
  • 技术:前后端分离
  • 业务:合同管理、课程管理、活动管理等

3、客大天下测什么接口:
  • 合同管理业务
  • 课程管理模块

三、业务场景测试和(业务路径)测试用例

1、如何测试业务接口?

根据业务流程图梳理业务路径

设置测试用例覆盖每一条路径

2、测试用例的编写

四、新增合同成功的测试用例
1、获取验证码

2、登录
{"username":"admin","password":"HM_2023_test","code":"2","uuid":"80c23c617c1148de92557595b5d659b7"}

3、添加课程成功

4、上传合同成功

注:图2 的get要改为post

5、合同添加成功

6、合同查询列表

五、批量执行(对新增合同成功测试用例批量执行)

点击测试集-点击run

六、单接口测试
1、登录接口的测试用例
2、断言
3、其他接口略
七、接口自动化流程
1、搭建自动化测试环境

Python+pytest(业务和单接口用例的管理)+requests

2、安装requests

pip3 install requests

3、自动化测试的目录框架
apiTestFramework 项目名称
api定义封装被测接口
script定义测试用例脚本
data存放测试数据文件
report存放生成的测试报告
common存放通用工具类
config.py定义项目的配置信息
pytest.inipytest配置文件

4、requests发送请求

requests.请求方法(URL,params=None,data=None,json=None,headers=None)

params:请求查询参数

data:请求头为form表单参数

json:请求体为json参数

5、response查看响应
response.status_code查看响应状态码
response.json()查看json形式的响应结果
response.text文本形式的响应内容

八、自动化测试脚本
1、获取验证码接口和登录接口(script-test01和test02)
2、新增合同业务流程(scrpt-test03)
3、接口的封装(api)
4、单接口测试
5、单接口测试时数据驱动的实现
九、Python的难点
1、类属性和对象属性

class MyClass:
    class_attribute = "This is a class attribute"  # 定义一个类属性

    def __init__(self, value):
        self.instance_attribute = value  # 定义一个对象属性

2、类属性和实例属性在类方法中的调用

类属性:Myclass.class_attribute

对象属性:self.instance_attribute
 

3、类对象和类实例对象的创建
  • self.login_api = LoginAPI() 是将一个 LoginAPI 的实例赋值给一个类的实例属性,这个属性属于类的每个实例,并且可以在类的任何方法中使用。

  • login_api = LoginAPI() 是将一个 LoginAPI 的实例赋值给一个局部变量,这个变量只在定义它的作用域内有效。

  • 将一个类的方法在另一个类中调用的步骤:1、在另一个中创建第一个类的实例2、通过实例调用方法:

    • 类和方法:FirstClass(first_method),SecondClass

    • class SecondClass:
          def __init__(self):
              # 步骤3: 在第二个类中创建第一个类的实例
              self.first_class_instance = FirstClass()

          def call_first_method(self):
              # 步骤4: 通过实例调用方法
              result = self.first_class_instance.first_method()
              return result

  • 在一个类的方法中调用这个类属性的操作:

    • Myclass.uuid

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

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

相关文章

支持向量机-笔记

支持向量机(Support Vector Machine, SVM) 是一种强大的监督学习算法,广泛应用于分类和回归任务,特别是在分类问题中表现优异。SVM 的核心思想是通过寻找一个最优超平面,将不同类别的数据点进行分割,并最大…

【YOLO学习】YOLOv4详解

文章目录 1. 整体网络结构1.1 结构图1.2 创新点概括 2. 输入端创新点2.1 Mosaic数据增强2.2 cmBN策略 3. Backbone创新点3.1 CSPDarknet533.2 Mish函数3.3 Dropblock正则化 4. Neck创新点4.1 SPP模块4.2 PAN 5. Prediction5.1 Loss5.2 NMS 1. 整体网络结构 1.1 结构图 1.2 创新…

PostgreSQL学习笔记三:数据类型和运算符

数据类型和运算符 PostgreSQL 支持多种数据类型和运算符,以下是一些常见的数据类型和运算符的概述: 数据类型 基本数据类型 整数类型: SMALLINT:2 字节,范围 -32,768 到 32,767。INTEGER:4 字节&#xff0…

vue3 vue2

vue3.0是如何变快的? diff算法优化 vue2的虚拟dom是进行全局的对比。vue3 新增了静态标记(patchFlag) 在与上次虚拟节点进行比较的时候,只对比带有patch Flag的节点,并且可以通过flag的信息得知当前节点要对比的具体内…

先进封装技术 Part03---重布线层(RDL)的科普

先进封装核心技术之一:重布线层(RDL)的科普文章 1、 引言 随着电子设备向更小型化、更高性能的方向发展,传统的芯片互连技术已经无法满足日益增长的需求。在这样的背景下,RDL(Re-distributed Layer,重布线层)技术应运而生,成为先进封装技术中的核心之一。 2、 RDL技术…

yolov8.yaml

前面说了yolov8的核心代码放在ultralytics里面,今天我们一起学习一下 YOLOv8模型下的Ultralytics文件目录结构。每个文件夹都有不同的作用,以下是对各个文件夹的解释: assets: 这个文件夹通常存放与模型相关的资源文件,可能包括训…

MySQL五千万大表查询优化实战

背景 DBA同事在钉钉发了两张告警截图,作为“始作俑者”的我很心虚,因为刚才是我在管理后台查询数据,结果很久都没出来,并且用多个维度查了N次 问题分析 这是当天上线的功能,完事我立马锁定SQL然后开启排查 # 原SQL&a…

系统性能优化

在程序员的职业生涯中,解决当前系统问题,优化性能,是走向高阶的必经之路。如果一辈子做着后台开发,写着CRUD,QPS低于10,那确实没必要去做性能优化,因为根本用不上。性能优化范围很广&#xff0c…

排序|插入排序|希尔排序|直接选择排序|堆排序的实现即特性(C)

插入排序 基本思想 直接插入排序是一种简单的插入排序法,其基本思想是: 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。 单趟 当插入第 i ( i ≤ 1…

人数识别 人员超员识别系统 作业区域超员预警系统 ai#YOLO视觉

在当今复杂的生产作业与社会管理场景中,人员管理的精准性和高效性变得愈发重要。人数识别、人员超员识别系统、作业区域超员预警系统以及特殊岗位人员达标监测等,都是保障安全生产、提高运营效率和维护社会秩序的关键要素。随着人工智能(AI)技术的飞速发…

【Python实例】Python读取并绘制nc数据

【Python实例】Python读取并绘制nc数据 准备:安装netCDF库等读取nc数据相关信息绘制图形利用basemap绘图 参考 准备:安装netCDF库等 以【1960-2020年中国1km分辨率月降水数据集】中2020年降水为例。 先在Panopoly中查看数据属性,如下&#…

单细胞转录组 —— kb-python 原始数据处理

单细胞转录组 —— kb-python 原始数据处理 前言 kallisto|bustools 是一种用于预处理 scRNA-seq 数据的工作流程。 数据预处理步骤包括: 将 reads 与其来源细胞关联起来;根据唯一分子标识符(UMI)对 reads 进行去重&#xff1…

西门子S7-200 SMART高速计数器指令向导

在 Micro/WIN SMART 中的命令菜单中选择 Tools(工具)> Wizards(向导)中选择 High Speed Counter(高速计数器向导) ,也可以在项目树中选择 Wizards(向导)文件夹中的 Hi…

下载相应版本的PyTorch

1、前置条件 下载某个版本的Python,本文涉及的Python版本为3.10 2、查看该Python版本可以下载的whl文件格式 pip debug --verbose 从上图可以发现python3.10可以下载格式为cp310-cp310-win_amd64的whl文件 PyTorch各稳定版本下载链接:https://downloa…

GNN与Transformer创新结合!模型性能起飞!

近年来,图神经网络(GNN)和Transformer模型因其在处理复杂数据结构和序列依赖性方面的卓越表现而受到广泛关注。这种优势使得将GNN与Transformer结合成为图表示学习领域的一个新兴且充满潜力的研究方向。通过结合这两种模型,我们不…

软考下午题1-数据流图

问题一:求实体的名称 例题: 1.提问方式-如问题1 从子图(0层数据流图)找比较快 外部实体可以是 人、物体、系统 在子图中找到加工,与文章中加工文字相对应,继续读文章,可以找到实体 E1-巴士列表文件 E2-机械师 E3-会…

《深度学习》LSTM 长短期记忆网络 结构及原理解析

目录 一、关于LSTM网络 1、什么是LSTM网络 举例: 2、RNN网络的结构 3、Tanh双曲正切函数 二、LSTM网络结构 1、遗忘门 1)功能 2)步骤 2、输入门 1)功能 2)步骤 3、输出门 1)功能 2)步骤…

斯坦福 CS229 I 机器学习 I 构建大型语言模型 (LLMs)

1. Pretraining -> GPT3 1.1. Task & loss 1.1.1. 训练 LLMs 时的关键点 对于 LLMs 的训练来说,Architecture(架构)、Training algorithm/loss(训练算法/损失函数)、Data(数据)、Evalu…

3D看车如何实现?有哪些功能特点和优势?

3D看车是一种创新的汽车展示方式,它利用三维建模和虚拟现实技术,将汽车以更真实、更立体的形式呈现在消费者面前。 一、3D看车的实现方式 1、三维建模: 通过三维建模技术,按照1:1的比例还原汽车外观,包括车身线条、细…

uniapp学习(003-2 vue3学习 Part.2)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第15p-第p20的内容 文章目录 事件监听以及组件内置事件处理自定义模板快速创建uniapp条件渲染 v-if和v-elsev-e…