接口测试之python+rquest+unittest分层自动化框架

接口测试之接口po框架

一、新建一个项目

 接口自动化框架设计实战:

第一包:config

案例:

#登录接口
dl_url = 'http://cms.duoceshi.cn/cms/manage/loginJump.do'
dl_d = {'userAccount': 'admin', 'loginPwd': '123456'}
dl_h = "Content-Type:application/x-www-form-urlencoded"#栏目接口
lm_url= "http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do"
lm_d= {'parentId': '', 'categoryName': '', 'page': '1'}
lm_h = {"Content-Type": "application/x-www-form-urlencoded"}

第二包:api  组建接口包

#组建并发送接口
import requests
from  config.cms_config import  *
s=requests.Session()
class  Cms(object):def __init__(self):passdef dl(self):jk=s.post(url=dl_url,data=dl_d,json=dl_h)#print(jk.text)return  jkdef lm(self):jk1=s.post(url=lm_url,data=lm_d,json=lm_h)# print(jk1.text)return  jk1
if __name__ == '__main__':c=Cms()c.dl()c.lm()

第三个包:testcase存放用例,

import  unittest
from  api.cms_api import  *
class  Cms_Test(unittest.TestCase):def setUp(self) -> None:passdef tearDown(self) -> None:passdef  test001(self):s=Cms().dl()def  test002(self):l=Cms().lm()
if __name__ == '__main__':V=Cms_Test()V.test001()V.test002()

第四个包:report包  报告包

 第五包:utils包工具类包

第六个包:

from utils.HTMLTestRunner3_New import  HTMLTestRunner
import unittest,os,time
from  utils.mail3 import SendMail
xm_path=os.path.join(os.path.abspath(os.path.dirname(os.getcwd())))  #项目路径
print(xm_path)
test_path=os.path.join(os.path.abspath(os.path.dirname(os.getcwd())),'testcase')#测试用例路径
print(test_path)
report_path=os.path.join(os.path.abspath(os.path.dirname(os.getcwd())),'report')#报告路径
print(report_path)
new=time.strftime('%y-%m-%d %H-%M-%S')
f=report_path+"/"+str(new)+'_report.html'
def  bg(x):d=unittest.TestLoader().discover(start_dir=test_path,pattern=x)file=open(f,"wb")r=HTMLTestRunner(stream=file,description="用例执行情况",tester='hz',title="cms接口po框架")r.run(d)
def  yj():fs=SendMail(send_msg=f,attachment=f)fs.send_mail()
if __name__ == '__main__':bg("cms*.py")yj()

二、邮箱设置

(1)

 

 

LTTYRPXNHUVXSJVG

 查看邮件:

 断言:

接口断言

分类: 教学笔记 / 教学笔记二

 参考:

讲解稿:
首先在pycharm里新建一个项目,然后构建6个包,分别是api构建包、conf配置包、report报告包、run运行包、testcase用例包以及utils工具包。
其中api包用来组建并发送接口请求,conf包用来存放所有接口的入参信息,report包用来放置运行所有测试用例生成的报告,run包用来自动加载所有的测试用例、并且运行,testcase包用来继承unittest单元测试框架、组建接口测试用例,utils包用来存放发送邮件和生成报告模块。
然后,在conf包中把参数值都写好,比如url、data和header;在api包中组建接口和发送接口请求,导入request和conf,参数名引用conf里面的,创建一个全局的session对象用来保持会话的状态和管理上下文,把各个接口的请求方式编写出来,同时用rep.json()来转换,全部封装在一个类里;在testcase包中组建测试用例导入unittest模块、api里面的Cms类,定义一个类,且继承unittest中的TestCase,用匿名对象来调用实例方法,然后进行断言,需要注意的是断言内容要与结果完全一致;最后,在run包里导入unittest、time、mail3、HTMLTestRunner,定义项目的路径、用例的路径、测试报告的名称、定义自动搜索用例,执行测试用例并生成报告,其中的时间戳也需要注意一下;此时,测试用例报告就会在report包里,最后用谷歌浏览器打开就可以查看了。

 这是我整理的《2024最新Python自动化测试全套教程》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)

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

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

相关文章

若依分离版本部署流程—开启HTTPS访问。

目录 前言 一、申请证书 二、后端打包 三、前端打包 四、服务器部署 ① Redis启动 ② 运行Jar包 ③ 上传ssl证书到服务器 ④ Nginx配置前端部分 五、访问 前言 在若依分离版本的项目部署过程中,跟大多数前后端分离项目差不多,都是前后端分别打包到服…

鸿蒙(API 12 Beta2版)媒体开发【使用AudioRenderer开发音频播放功能】

音频播放开发概述 如何选择音频播放开发方式 系统提供了多样化的API,来帮助开发者完成音频播放的开发,不同的API适用于不同音频数据格式、音频资源来源、音频使用场景,甚至是不同开发语言。因此,选择合适的音频播放API&#xff…

Linux学习笔记:iptables命令管理

1、iptables简介 其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构。 语法格式:iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION -t&#…

xss漏洞(五,xss-labs靶场搭建及简单讲解)

本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 前言: 本文基于github上的xss-labs靶场以及PHP study进行操作。 一,靶场环境搭建。 1, 下载并解压到phpstudy的www目录下。 同前文一致,将文件…

精准防控,高效管理:AI智能分析网关V4区域未停留检测算法的介绍及应用

一、区域未停留AI检测算法概述 随着人工智能和计算机视觉技术的飞速发展,区域未停留AI检测算法作为一种重要的视频分析技术,逐渐在各个领域得到广泛应用。该算法通过高效处理视频流数据,能够实时分析并判断目标对象是否在预设区域内有足够的…

PSTNET阅读

ICLR2021 点云序列在空间维度上具有不规则性和无序性,但在时间维度上具有规律性和有序性。 现有的基于网格的卷积不能直接应用于原始点云序列的时空建模。 在时空序列下,基于网格和基于点的卷积对比。 创新点 1.首次尝试在原始点云序列建模中分解空间…

【Java 第九篇章】多线程实际工作中的头大的模块

多线程是一种编程概念,它允许多个执行路径(线程)在同一进程内并发运行。 一、多线程的概念和作用 1、概念 线程是程序执行的最小单元,一个进程可以包含多个线程。每个线程都有自己的程序计数器、栈和局部变量,但它们…

Python获取Excel内容

Python获取Excel内容 目录 Python获取Excel内容1.读取Excel并登陆2.下载Excel中图片 数据存储到列表3.上传到接口 需求:获取xlsx files目录下的所有Excel信息,并将数据打包成字典格式上传到接口 示例数据: 1.读取Excel并登陆 import os impo…

【算法】贪心算法

应用场景——集合覆盖问题 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。如何选择最少的广播台,让所有的地区都可以接收到信号 贪心算法介绍 1.贪心算法是指在对问题进行求解时,在每一步选择中都采取最好或者最优的选择 2…

智观察 | 行业赛道里的AI大模型

‍ “AI改变世界”被炒得热火朝天,结果就换来AI聊天? 实际上,在日常娱乐之下,AI正在暗暗“憋大招”,深入各行各业,发挥更专业的作用。 自动驾驶 最近“萝卜快跑”霸榜热搜长达一周,让无人驾…

手机在网状态接口如何对接?(二)

一、什么是手机在网状态? 传入手机号码,查询该手机号的在网状态,返回内容有正常使用、停机、在网但不可用、不在网(销号/未启用/异常)、预销户等多种状态。 二、手机在网状态使用场景? 1.用户验证与联系…

【问题解决方案】npm install报错问题:npm ERR! - 多种解决方案,总有一种可以解决

文章目录 1.问题重述2.解决方案方案1.确认根目录正确方案2.确认文件名正确方案3. 确认node.js安装完成(注意这个环境变量配置没有写完)方案4 改用yarn安装(亲测可用) 3.延申问题解决方案问题1:需要低版本的node.js 写在…

企业图纸防泄密怎么做?最好的八款图纸加密软件推荐

保护企业图纸不被泄露是现代企业信息安全管理中的重要任务。随着信息技术的发展,企业需要采取多种措施来确保图纸的安全性。以下是一些常用的图纸防泄密方法和八款推荐的图纸加密软件: 图纸防泄密方法 1. 数据备份:定期备份图纸数据&#xf…

Jboss 漏洞

一.CVE-2015-7501 访问/invoker/JMXInvokerServlet 开启下载存在漏洞 二.CVE-2017-7504 三CVE-2017-12149 启动vulhub环境,访问/invoker/readonly出现如下界面,说明存在漏洞 使用工具连接 四.Administration Console弱⼝令 访问/admin-console/login…

数据库的管理

1、官网下载或者wget tar -xvf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar 2、确定mysql-community-server正常安装之后就可以开始配置 3、初始化mysqld 服务 mysqld initeialize 4、启动服务 systemctl start mysqld 5、添加开机启动列表 systecmctrl enable mysqld在/var…

git——Git提交本地项目代码到远程Github仓库步骤图解

目录 一、Git提交本地项目代码到远程Github仓库步骤 一、Git提交本地项目代码到远程Github仓库步骤 1、在Github创建一个空仓库,例如名称为jetcache-demo 2、打开【Git Bash Here】 3、进入本地项目文件夹 cd d:/ cd D:/project1/本地服务/jetcache-demo4、初始…

Golang面试题三(map)

1.map底层实现 由图看出,其实map的底层结构体是hmap,同时hmap里面维护着若干个bucket数组(即桶数组)。bucket数组中每个元素都是bmap结构的,bmap中存储着8个key-value的键值对,如果是满了的话,当…

用OpenCV与MFC写一个简单易用的图像处理程序

工厂里做SOP及测试报告以及员工资格鉴定等常需用到简单的图像处理,PS等软件正版费用不菲,学习起来成本也高。Windows自带的图像处理软件,用起来也不是那么得心应手。因此我用OpenCV与MFC写了一个简单易用的图像处理程序。 程序界面 基于简单…

从传统监控到智能化升级:EasyCVR视频汇聚平台的一站式解决方案

随着科技的飞速发展和社会的不断进步,视频监控已经成为现代社会治安防控、企业管理等场景安全管理中不可或缺的一部分。而在视频监控领域,EasyCVR视频汇聚平台凭借其强大的多协议接入能力,在复杂多变的网络环境中展现出了卓越的性能和广泛的应…

【第15章】Spring Cloud之Gateway网关过滤器(URL黑名单)

文章目录 前言一、常用网关过滤器1. 常用过滤器2. 示例3. Default Filters 二、定义接口服务1. 定义接口 三、自定义过滤器1. 过滤器类2. 应用配置 四、单元测试1. 正常2. 黑名单 总结 前言 上一章我们通过,路由断言根据请求IP地址的黑名单功能,作用范围…