您的位置:首页 > 汽车 > 新车 > Django测试平台搭建学习笔记1

Django测试平台搭建学习笔记1

2024/7/4 6:23:45 来源:https://blog.csdn.net/Yang_penny_1/article/details/139809319  浏览:    关键词: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")

首页看板
今天执行了多少用例
今天测试多少用例
今天测试通过率多少
最近七天的失败趋势

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com