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

首页看板

今天执行了多少用例

今天测试多少用例

今天测试通过率多少

最近七天的失败趋势

相关推荐
迷迭香yy3 分钟前
基金档案数据工程实战从收入分析到持仓穿透的Python解析 IG50免费开源股票数据API接口
开发语言·python
清水白石00815 分钟前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
️学习的小王1 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
前端 贾公子1 小时前
第09章:上下文与记忆 (6)
开发语言·前端·python
evans在进步1 小时前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式
jayson.h2 小时前
PDF 合并+添加页码 相关库、类、函数
开发语言·前端·python
典典分享指南2 小时前
用飞书多维表格搭建内容管理看板
java·python·r语言·composer·symfony
Data_Journal2 小时前
Scrapyd:分步教程
开发语言·python·microsoft·golang·编辑器·html·iphone
今天AI了吗2 小时前
大模型技术全景(一):AI、机器学习、深度学习,三者的关系到底是什么?一文搞懂
数据库·人工智能·python·sql·深度学习·机器学习·rust
仙女修炼史2 小时前
gradcam在yolo中的应用
人工智能·python·yolo