Django实现接口自动化平台(七)数据库设计

news2024/11/19 5:31:49

上一章:

Django实现接口自动化平台(六)httprunner(2.x)基本使用【持续更新中】_做测试的喵酱的博客-CSDN博客

下一章:

一、数据库设计

接口自动化平台,内置引擎,使用的是httprunner2,所以数据库设计与httprunner2的数据结构相似。

1.1 一共涉及到9张表

  • 项目模型
  • 接口模型
  • 用例模型
  • 配置模型
  • 套件模型
  • 内置函数模型
  • 环境变量模型
  • 测试报告模型
  • 用户模型

登录相关:

  • 用户表:auth_user

接口自动化相关:

  • 项目表:tb_projects
  • 接口表:tb_interfaces
  • case表:tb_testcases
  • 测试套件表:tb_testsuits
  • 接口环境配置表:tb_configures
  • 全局环境配置表:tb_envs
  • 测试报告表:tb_reposts
  • 自定义函数表:tb_debugtalks

1.2 表之间的关系

 tb_debugtalks 自定义函数表 与项目表tb_projects,一对一关系,一个项目,对应一个自定义函数。

tb_reports:

  • id
  • name
  • result
  • success
  • html
  • summary
  • create_time
  • update_time
  • is_delete

tb_projects:

  • id
  • name
  • leader
  • tester
  • projrammer
  • publish_app
  • desc
  • create_time
  • update_time
  • is_delete

tb_interfaces:

  • id
  • name
  • project
  • tester
  • desc
  • create_time
  • update_time
  • is_delete

tb_testcases:

  • id
  • name
  • interface
  • include
  • author
  • request
  • create_time
  • update_time
  • is_delete

tb_envs:

  • id
  • name
  • base_url
  • desc
  • create_time
  • update_time
  • is_delete

tb_testsuites:

  • id
  • name
  • project
  • include
  • request
  • create_time
  • update_time
  • is_delete

tb_configures:

  • id
  • name
  • interface
  • author
  • request
  • create_time
  • update_time
  • is_delete

 

二、创建子应用

注意:

用户表已经在二、三章实现了。

Django实现接口自动化平台(二)认证&授权&登录【持续更新中】_做测试的喵酱的博客-CSDN博客

Django实现接口自动化平台(三)实现注册功能【持续更新中】_做测试的喵酱的博客-CSDN博客 

2.1 、创建子应用

python manage.py startapp projects

python manage.py startapp interfaces

python manage.py startapp testcases

python manage.py startapp testsuits

python manage.py startapp configures

python manage.py startapp envs

python manage.py startapp reports

python manage.py startapp debugtalks

2.2 、注册应用

在setting.py 下配置INSTALLED_APPS

 

    'projects',
    'interfaces',
    'users',
    'testcases',
    'configures',
    'reports',
    'debugtalks',
    'testsuites',
    'envs',

2.3 统一管理应用

我们整个项目,会涉及到大量的应用。如果应用文件夹都在根目录下,会显得比较乱。

所以我们可以在根目录下,创建一个名为apps的package,将所有应用移动到apps下。

1、在项目根目录下,创建 package,apps

2、将所有的应用,用鼠标拖动到apps下,

 注意,在拖动应用的时候,弹窗中,不要进行任何勾选。

3、设置应用apps路径

在setting.py下,配置apps的绝对路径

# apps绝对路径
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

 注意:

a、BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

BASE_DIR是项目的根路径

b、apps的绝对路径:os.path.join(BASE_DIR, 'apps')

c、配置文件,在寻找应用文件时,是在sys.path中寻找的。

sys.path是一个list

为了项目配置文件,能找到我们apps的路径,需要将路径插入到sys.path中。

sys.path.insert(0,)插入到第一位,为了寻找快一点。

4、右键,设置apps文件。Mark Directory as ------Sources Root

将apps文件,设置为资源文件。(非必需操作)

这样以后在pycharm中,在引用apps中的应用时,会自动联想出来,方便我们写代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/633679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode热题100】打卡19天:最大数组和跳跃游戏

文章目录 【LeetCode热题100】打卡第19天:最大数组和&跳跃游戏⛅前言 最大数组和🔒题目🔑题解 跳跃游戏🔒题目🔑题解 【LeetCode热题100】打卡第19天:最大数组和&跳跃游戏 ⛅前言 大家好&#xff…

A股市场全景分析系列—从每日涨停个股分析热门板块与题材

前言‍‍ 当前市场股票多但资金有限,因此已经无法出现全面上涨的行情。这样一来识别当前的“风口”显得尤为重要,也就是上车热门板块、热门题材、强势个股! 因此聚焦分析涨停板个股显得尤为重要! 我们统计了近5个交易日…

【算法题解】38. 括号的生成

这是一道 中等难度 的题 https://leetcode.cn/problems/generate-parentheses/ 题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:["…

DNS隧道穿透

介绍: DNS隧道,是隧道技术中的一种。当我们的HTTP、HTTPS这样的上层协议、正反向端口转发都失败的时候,可以尝试使用DNS隧道。DNS隧道很难防范,因为平时的业务也好,使用也罢,难免会用到DNS协议进行解析&am…

线上问题记录20230610-NGINX代理大文件下载问题

线上问题记录20230610-NGINX代理大文件下载问题 问题描述 我们有一个在线项目:是一个对象文件存储服务,是用来给用户提供文件对象存储的。今天用户在使用的时候发现超过1G的文件无法进行下载。幸好今天是星期六,使用的人并不是特别多&#…

华为OD机试真题 JavaScript 实现【最长的连续子序列】【2022Q4 100分】

一、题目描述 有N个正整数组成的一个序列,给定一个整数sum,求长度最长的的连续子序列使他们的和等于sum,返回该子序列的长度,如果没有满足要求的序列返回-1。 二、输入描述 第1行有N个正整数组成的一个序列。 第2行给定一个整…

【LIN通讯出现问题】

LIN信号发出了,但是没有收到响应的原因 如果你发送了LIN(局域网互连)信号,但没有收到响应,可能有以下几个原因: 线路故障:检查信号线路是否连接正确,可能存在接触不良、开路或短路等…

【PCB专题】Allegro 单线、差分线自动绕等长功能介绍

在文章【PCB专题】案例:绕等长怎么直接以颜色区分看出是否绕好 中我们讲到Allegro 16.6版本的Timing Vision功能可以直接在PCB上以颜色的区分就能看出单线和差分是否已经绕成等长了,不再需要到规则管理器中去查看。 那么其实Allegro还有单线自动绕等长的功能——Auto interac…

mac电脑储存内存越来越小如何清理释放空间?

如果你是一位Mac系统的用户,可能会发现你的电脑储存空间越来越小。虽然Mac系统设计得非常优秀,但是系统数据和垃圾文件也会占据大量的储存空间。在这篇文章中,我们将探讨mac系统数据怎么这么大,以及mac清理系统数据怎么清理。 一…

# Telegraph-Image:利用Cloudflare Pages和Telegraph无成本创建自己的图床

Telegraph-Image:利用Cloudflare Pages和Telegraph无成本创建自己的图床 Telegraph-Image是一个具有以下特点的图像托管服务: 特点: 无限图片储存数量:你可以上传不限数量的图片,没有存储限制。免费托管&#xff1a…

chatgpt赋能python:Python中如何删除字符串中的标点符号

Python中如何删除字符串中的标点符号 概述 在Python中,字符串是一种基本数据类型,经常被用来存储和处理文本数据。在处理文本数据时,我们常常需要删除其中的标点符号。本文将介绍如何使用Python中的字符串处理方法来删除字符串中的标点符号…

[安卓广播入门][1]Android Studio接收系统广播

一、新建项目 二、增加权限 <uses-permission android:name"android.permission.ACCESS_NETWORK_STATE" />三、代码 public class MainActivity extends AppCompatActivity {private IntentFilter intentFilter;//过滤隐式意图private NetworkChangeReceiver…

【状态估计】变分贝叶斯近似的递归噪声自适应卡尔曼滤波(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Spring框架】第一个Spring(创建和使用)

目录 Spring创建和使用创建创建一个Maven项目添加Spring框架支持(spring-context、spring-beans)添加启动类 存储Bean对象创建Bean将Bean注册到容器读取并使用Bean对象经典面试题&#xff1a;ApplicationContext和BeanFactory的区别是什么&#xff1f; Spring创建和使用 创建 …

SpringBoot-【回顾】

第一个SpringBoot程序 自动装配原理 Springboot的自动装配实际上就是为了从Spring.factories文件中获取到对应的需要进行自动装配的类&#xff0c;并生成相应的Bean对象&#xff0c;然后将它们交给Spring容器来帮我们进行管理 启动器&#xff1a;以starter为标记 EnableAuto…

C语言:给定两个数,求这两个数的最大公约数(新思路:辗转相除法)

题目&#xff1a; 从键盘输入两个数&#xff0c;求这两个数的最大公约数。 思路一&#xff1a;普通方法 总体思路&#xff1a; &#xff08;一&#xff09;. 生成相关变量&#xff1b; 从键盘输入两个数&#xff1b; 再使用 三目操作符&#xff08;条件操作符&#xff09; 找出…

树——“数据结构与算法”

各位CSDN的uu们好久不见呀&#xff0c;好久没有更新我的数据结构与算法专栏啦&#xff0c;现在&#xff0c;我要开始重拾丢下的知识啦&#xff0c;这次&#xff0c;小雅兰要给uu们介绍一个全新的数据结构&#xff0c;下面&#xff0c;就让我们进入树的世界吧&#xff01;&#…

Flutter 环境配置

Flutter 环境配置 电脑上面安装配置JDK 1.下载安装JDK 下载地址&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) 2.配置JDK 2.1、系统变量 里面新增JAVA_HOME&#xff0c;设置值为java sdk 根目录&#xff1a; 2.2 …

OpenGl之纹理坐标及纹理映射

文章目录 纹理坐标纹理映射代码 纹理坐标 为了实现纹理贴图我们需要做三件事&#xff1a;将一张贴图加载到OpenGL中&#xff0c;提供纹理坐标和顶点&#xff08;将纹理对应匹配到顶点上&#xff09;&#xff0c;并使用纹理坐标从纹理中进行取样操作取得像素颜色。由于三角形会被…

Vue源码解析--更新中

【尚硅谷】Vue源码解析之虚拟DOM和diff算法 【Vue源码】图解 diff算法 与 虚拟DOM-snabbdom-最小量更新原理解析-手写源码-updateChildren] 文章目录 2. snabbdom 简介 及 准备工作2.1 简介2.2 搭建初始环境1. 安装snabbdom2. 安装webpack5并配置3. 复制官方demo Example 3. …