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

首页看板

今天执行了多少用例

今天测试多少用例

今天测试通过率多少

最近七天的失败趋势

相关推荐
小赖同学啊1 小时前
物联网数据安全区块链服务
开发语言·python·区块链
码荼2 小时前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud
小陈phd3 小时前
李宏毅机器学习笔记——梯度下降法
人工智能·python·机器学习
kk爱闹3 小时前
【挑战14天学完python和pytorch】- day01
android·pytorch·python
Blossom.1183 小时前
机器学习在智能建筑中的应用:能源管理与环境优化
人工智能·python·深度学习·神经网络·机器学习·机器人·sklearn
亚力山大抵3 小时前
实验六-使用PyMySQL数据存储的Flask登录系统-实验七-集成Flask-SocketIO的实时通信系统
后端·python·flask
showyoui3 小时前
Python 闭包(Closure)实战总结
开发语言·python
amazinging4 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十一天
python·学习·appium
amazinging4 小时前
北京-4年功能测试2年空窗-报培训班学测开-第三十九天
python·学习·appium
m0_723140234 小时前
Python训练营-Day42
python