Django测试平台搭建学习笔记1

一安装

pip离线安装requests==2.32.0所需要的依赖:
: charset-normalizer<4,>=2 (3.0.0b1)
: idna<4,>=2.5 (3.7)
: urllib3<3,>=1.21.1 (2.2.0)
: certifi>=2017.4.17 (2024.6.2)

pip离线安装pytest==8.2.0所需要的依赖:
: iniconfig (2.0.0)
: packaging (24.0)
: pluggy<2.0,>=1.5 (1.5.0)
: exceptiongroup>=1.0.0rc8 (1.2.1)
: tomli>=1 (2.0.1)
: colorama (0.4.5)

更改pip下载源地址:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

导出包依赖
pip freeze > requirements.txt

查看依赖关系:
pipdeptree -p 库名

二、Django测试平台
Pycharm(专业版)中创建Django工程

Tools->Run manage.py Task进入django模式
>runserver,启动项目(开发模式)
>makemigrations 创建数据库迁移脚本
>migrate 执行数据库迁移数据脚本

>createsuperuser创建管理员账号
>changepassword 修改账号密码

三、测试框架
类型:接口、web、APP
用处:管理用例、执行用例、失败重跑、日志记录、生成报告、发送通知

安装测试框架
python.exe -m pip install --upgrade pip 
pip install pytest allure-pytest requests
pytest --alluredir=./allure-results
allure generate ./allure-results -o ./allure-report --clean
allure open -h 127.0.0.1 -p 8083 ./allure-report

四、平台创建
1)新建app
startapp case
注意:新建app,需要在settings中进行注册,才算成为项目的一部分
2)定义module
Model驱动开发
MDD
class Task(models.Model):
    name = models.CharField("用例名称",max_length=20)
    case = models.FileField("用例文件",upload_to='tests/%Y_%m_%d_%H_%M_%s/')
    status = models.IntegerField("测试状态",choices=[
        (0,'未执行'),
        (1,'正在执行用例'),
        (2,'正在生成报告'),
        (3,'执行完毕')
    ])
注意修改了Model,必须及时修改数据库
执行下面的命令,可以自动完成修改
>makemigrations 创建数据库迁移脚本
>migrate 执行数据库迁移数据脚本
3.创建视图
MVT
主要的业务代码,通过视图完成
视图作用:
1.接收请求
2.处理请求,完成业务
3.生成响应
两种写法:
1.完全自定义前端+后端代码
2.使用admin框架编写前端+后端代码
视图需要完成的功能:
1.展示已有用例
2.新建用例(文件上传)
3.修改用例
4.执行用例&生成测试报告
Django内置的admin,会自动实现model,并自动完成大部分功能
1)创建admin页面
@admin.register(Task)
class TaskAdmin(admin.ModelAdmin):
    list_display = ("id","name","status")
2)定义用例执行代码
需求:
当用例状态改为"正在执行时",后台就调用测试框架完成用例的执行

实现:
1.如何知道用例状态变为"正在执行用例"
2.如何调用框架执行用例

3)展示报告
新的视图,展示报告
from django.conf.urls.static import static
urlpatterns += static('tests/',document_root="tests")

首页看板
今天执行了多少用例
今天测试多少用例
今天测试通过率多少
最近七天的失败趋势

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

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

相关文章

棱镜七彩荣获CNNVD两项大奖,专业能力与贡献再获认可!

6月18日&#xff0c;国家信息安全漏洞库&#xff08;CNNVD&#xff09;2023年度工作总结暨优秀表彰大会在中国信息安全测评中心成功举办。棱镜七彩凭借在漏洞方面的突出贡献和出色表现&#xff0c;被授予“2023年度优秀技术支撑单位”与“2023年度最佳新秀奖”。 优秀技术支撑单…

人工智能无法修复自动化已经破坏的东西

人工智能无法修复自动化已经破坏的东西 没错&#xff0c;如今不断涌现出“我们日益恶化的反乌托邦的快照”之类的故事&#xff0c;但这篇来自行业杂志《美国银行家》(American Banker)的文章却脱颖而出。这篇文章揭示了企业人工智能的一个新的前沿用例:在呼叫中心的工作人员被…

2024请收好这一份全面--详细的AI产品经理从业指南

前言 入行人工智能领域这段时间以来&#xff0c;从零到一把AI推荐系统产品化搭建了起来&#xff0c;也与很多同行AI产品经理小伙伴建立了联系。AI产品经理工作内容各异&#xff0c;不同AI产品化生命周期中更是大为不同&#xff0c;但对想入行AI产品经理的小伙伴来讲&#xff0…

【音乐制作节拍手册#1】鼓组篇持续更新中

开题报告 采用下面类似的话术,让AI替我们找寻一些常用的鼓组编排模式 类似代码的形式,介绍嘻哈音乐风格中不同的鼓组编排,查询下最流行的编排案例鼓组包含哪些 在 Justin Bieber 风格的鼓组中,除了基本的底鼓、军鼓、拍手、高帽和过渡鼓外,还可以使用以下额外的打击乐器…

SpringBoot 统计接口调用耗时的多种方式

在实际开发中&#xff0c;了解项目中接口的响应时间是必不可少的事情。SpringBoot 项目支持监听接口的功能也不止一个&#xff0c;接下来我们分别以 AOP、ApplicationListener、Tomcat 三个方面去实现三种不同的监听接口响应时间的操作。 AOP 首先我们在项目中创建一个类 &am…

▶《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch4 值迭代 与 策略迭代 【动态规划 算法】

PPT 截取必要信息。 课程网站做习题。总体 MOOC 过一遍 1、视频 学堂在线 习题 2、过 电子书 补充 【下载&#xff1a; 本章 PDF 电子书 GitHub】 [又看了一遍视频。原来第一次跳过了好多内容。。。] 3、总体 MOOC 过一遍 习题 学堂在线 课程页面链接 中国大学MOOC 课程页面链…

科技创新对农业发展的影响

科技创新对农业发展的影响深远且广泛&#xff0c;主要体现在以下几个方面&#xff1a; 一、提高农业生产效率 引入先进的农业机械设备&#xff1a;新型农业机械设备如无人机、机器人等的应用&#xff0c;显著减轻了农民的劳动强度&#xff0c;提高了农作物的种植效率。利用精…

上市公司-社会责任报告、ESG报告文本(2006-2023年)

上市公司社会责任报告是企业对外公布的一份关于其社会责任实践和成果的详细文件&#xff0c;涵盖环境保护、社会贡献和公司治理等方面的表现。通常包含公司在减少环境影响、提升社会福祉、维护员工权益、促进社区发展以及确保透明和道德的管理实践等方面的信息和数据。有助于了…

浅谈Java23种设计模式之11种行为型模式的使用场景(第二部分)

前言: 行为型设计模式实际使用场景第二部分; 1.中介者模式&#xff08;Mediator&#xff09; 概念: 它定义了一个中介类来封装一系列对象之间的交互&#xff0c;从而使各个对象不需要显式地相互引用&#xff0c;降低耦合度&#xff0c;提高系统的可维护性和扩展性。中介者模…

滑动窗口练习1-长度最小的子数组

1.题目链接&#xff1a;209.长度最小的子数组 2.题目描述&#xff1a; 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条…

聊聊分布式集群的基本概念

在当前主流的分布式架构中,各种各样的集群技术几乎成了任何想要提升系统稳定性和处理能力的团队的必备技能。虽然各种中间件和系统都有让人看似眼花缭乱的集群实现方案,但其背后仍然逃不过一些核心的技术概念,我会结合几个我比较熟悉的中间件,简单聊一下我对集群的理解: …

zlib安装教程(Windows)

开源项目地址&#xff1a;madler/zlib: A massively spiffy yet delicately unobtrusive compression library. (github.com) 下载代码 可以选择git clone 或直接下载release包 Releases madler/zlib (github.com) git clone https://github.com/madler/zlib.git release…

【Android面试八股文】Kotlin内置标准函数with的原理是什么?

文章目录 原理和实现方式应用场景总结 with 是 Kotlin 标准库中的一个内置函数&#xff0c;其主要目的是简化对某个对象实例执行多个操作的代码。它的原理和实现方式如下&#xff1a; 原理和实现方式 with的源码定义如下&#xff1a; /*** Calls the specified function [blo…

被拷打已老实!面试官问我 #{} 和 ${} 的区别是什么?

引言&#xff1a;在使用 MyBatis 进行数据库操作时&#xff0c;#{} 和 ${} 的区别是面试中常见的问题&#xff0c;对理解如何在 MyBatis 中安全有效地处理 SQL 语句至关重要。正确使用这两种占位符不仅影响应用的安全性&#xff0c;还涉及到性能优化。 题目 被拷打已老实&…

GRU基础知识以及相关名词解释

当然&#xff0c;GRU&#xff08;Gated Recurrent Unit&#xff0c;门控循环单元&#xff09;是一种改进的循环神经网络&#xff08;RNN&#xff09;结构&#xff0c;它引入了门控机制来更好地控制信息的流动&#xff0c;从而解决了传统RNN在处理长序列数据时存在的梯度消失和梯…

2024-06-19,面试官问的问题

文章目录 1、采用minIO完成了图片存储&#xff0c;采用阿里云OSS服务器存储图片这两个功能面试官理解为重复&#xff0c;面试官又问minIO怎么同步到OSS&#xff1f;2、讲一下ThreadLocal&#xff1f;3、为什么用ThreadLocal存数据&#xff1f;4、redis有几种数据结构&#xff1…

零成本!无需服务器,搭建你的图床!

先给大家看看成品&#xff1a; 访问地址&#xff1a;http://cp64mba5g6h48vl4is50.app.memfiredb.cn/ 这是我花十分钟做出来的零成本&#xff0c;不需要服务器的图床&#xff0c;不需要登录&#xff0c;任何人都可以在上面上传图片和拿到图片链接去使用&#xff0c;当然这只…

【Java面试】二十一、JVM篇(中):垃圾回收相关

文章目录 1、类加载器1.1 什么是类加载器1.2 什么是双亲委派机制 2、类装载的执行过程&#xff08;类的生命周期&#xff09;3、对象什么时候可以被垃圾回收器处理4、JVM垃圾回收算法4.1 标记清除算法4.2 标记整理算法4.3 复制算法 5、分代收集算法5.1 MinorGC、Mixed GC、Full…

大数据的发展,带动电子商务产业链,促进了社会的进步【电商数据采集API接口推动电商项目的源动力】

最近几年计算机技术在诸多领域得到了有效的应用&#xff0c;同时在多方面深刻影响着我国经济水平的发展。除此之外&#xff0c;人民群众的日常生活水平也受大数据技术的影响。 在这其中电子商务领域也在大数据技术的支持下&#xff0c;得到了明显的进步。虽然电子商务领域的发…

网页钓鱼-克隆修改--劫持口令下载后门

免责声明:本文仅做技术交流与学习... 目录 1-右键另存为 2-goblin项目(不推荐) 修改goblin.yaml文件 运行exe ​编辑 3-Setoolkit (kali自带) 网页克隆---> 1-右键另存为 --不行就再定位元素进行修改. 2-goblin项目(不推荐) GitHub - xiecat/goblin: 一款适用于红蓝…