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")

首页看板

今天执行了多少用例

今天测试多少用例

今天测试通过率多少

最近七天的失败趋势

相关推荐
不像程序员的程序媛11 分钟前
maven基础
python·pycharm·maven
xiaogai_gai1 小时前
仅查询策略实战:从金蝶云·星空旗舰版定时拉取收料通知单
大数据·数据库·python
benchmark_cc2 小时前
Python 量化系统如何设计统一的数据访问接口:从策略解耦到数据层架构
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
const_qiu2 小时前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
估值探索者3 小时前
【Python量化选股流水线 #04】选股器好不好用?「昨日候选→今日表现」回看验收
开发语言·python·股票数据·股票数据api接口
田里的水稻3 小时前
PyTorch_Dataloader\TensorBoard---数据加载与可视化
人工智能·pytorch·python·神经网络·机器学习
Dmz丶3 小时前
前端转 AI 100 天 Day 27:Docker 容器化——从“我电脑能跑“到“到处能跑“
python
卿卿的产品经理日记3 小时前
【AI产品经理实战】Day 38|try-except 踩坑实录:报错是数据
人工智能·笔记·python·学习·产品经理
全栈练习生3 小时前
文档智能与实践
python·ai
隐擎fox4 小时前
深入 Android 移动端风控与协议层对抗:内核级虚拟环境检测、网络堆栈特征伪装与住宅 IP 协同实战
android·网络·python·网络协议·tcp/ip