当前位置: 首页 > news >正文

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

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

http://www.lryc.cn/news/380331.html

相关文章:

  • 本地离线模型搭建指南-RAG架构实现
  • 【IPython 使用技巧整理】
  • 什么是孪生素数猜想
  • Python学习笔记16:进阶篇(五)异常处理
  • Mac 安装依赖后依旧报错 ModuleNotFoundError: No module named ‘Crypto‘
  • 【07】持久化-数据库选择和设计
  • 压力测试
  • C语言| 数组元素的删除
  • QListView、QTableView或QTreeView截取滚动区域(截长图)
  • 论文《Tree Decomposed Graph Neural Network》笔记
  • 控制下属很简单,用好这3大管人绝招,再跳的刺头也不敢造次
  • 2.APP测试-安卓adb抓取日志
  • 高考填报志愿选专业,要善于发掘自身优势
  • 如何在 Ubuntu 14.04 上使用 HAProxy 实现 SSL 终止
  • dockercompose
  • 「51媒体」活动会议,展览展会,直播曝光的一种方法
  • Go WebSocket入门+千万级别弹幕系统架构设计
  • uniapp使用伪元素实现气泡
  • 字节跳动:从梦想之芽到参天大树
  • 组合数学、圆排列、离散数学多重集合笔记
  • 网络技术原理需要解决的5个问题
  • 【数据结构】链表的大概认识及单链表的实现
  • 国企:2024年6月中国移动相关招聘信息 二
  • Elasticsearch:智能 RAG,获取周围分块(二)
  • 华为---RIP路由协议的汇总
  • Python基础——字符串常见用法:切片、去空格、替换、拼接
  • LeetCode.51N皇后详解
  • 计算机网络之奇偶校验码和CRC冗余校验码
  • 二叉树经典OJ练习
  • 【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】008 - make distclean 命令解析