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

首页看板

今天执行了多少用例

今天测试多少用例

今天测试通过率多少

最近七天的失败趋势

相关推荐
青 春 记 忆10 分钟前
LeetCode 53. 最大子数组和|Python 解法详解
python·算法·leetcode
鹿角片ljp16 分钟前
Java面试复盘(二):String不可变、字符串常量池与字符串拼接
开发语言·python
讲温控就好了38 分钟前
光刻温控的产业链价值:从精度指标到半导体制造竞争力
python·制造
南极星10051 小时前
2026电赛E题有感
python·opencv·电赛
看浪的路人1 小时前
第3讲:代码补全引擎
开发语言·windows·python
想会飞的蒲公英2 小时前
PyTorch 学习率实战:从零理解衰减策略与调度器
人工智能·pytorch·python·深度学习·机器学习
布值倒区什么name2 小时前
python文件IO学习
python
丁引2 小时前
《数据清洗的艺术:如何用20行核心逻辑优雅地删除无标签图片》
前端·数据库·python
梦想的旅途22 小时前
企业微信API二次开发:外部群模块功能清单与全场景对接
java·python·企业微信
0566463 小时前
Python高级——迭代器
开发语言·python·学习