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

首页看板

今天执行了多少用例

今天测试多少用例

今天测试通过率多少

最近七天的失败趋势

相关推荐
小白学大数据17 分钟前
Python 爬虫实战:抓取汽车之家二手车成交价格与里程数据
开发语言·爬虫·python·汽车
Jazz_z1 小时前
如何用Python将彩色PDF一键转为黑白(灰度)
java·python·pdf
SEO_juper1 小时前
2026年Schema自动注入实战:用Python批量给1000个页面加上JSON-LD,AI引用率实测提升38%
人工智能·python·json·seo·独立站
zzzll11111 小时前
HashMap、HashTable、ConcurrentHashMap 详细区别与深度解析
开发语言·python
程序员AI工坊1 小时前
Agent 开发:ReAct 循环与工具调用实战——从单次调用到自主 Agent
人工智能·后端·python·langchain·agent·react
️学习的小王2 小时前
基于UDP实现简易聊天室(基础版)——Python实现
网络·python·udp
W_326002 小时前
Python 组合数据类型——序列(列表 & 元组)
开发语言·python
二进制杯莫停2 小时前
A和B环境的python版本相同,B环境无法安装pip依赖,离线安装
开发语言·python·pip
威联通安全存储3 小时前
TS-h1677AXU-RP 在汽车冲压车间高速冲压线检测网中的部署
python·汽车
RSTJ_16253 小时前
PYTHON+AI LLM DAY ONE HUNDRED AND TWENTY-NINE
人工智能·python