python django vue httprunner 实现接口自动化平台(最终版)

news2024/11/28 22:00:40

一、项目介绍:

1.1 项目地址

前端地址:

GitHub - 18713341733/test_platform_service: django vue 实现接口自动化平台

后端地址:

GitHub - 18713341733/test_platform_front: Django vue实现接口自动化平台

1.2  项目介绍

1.2.1 环境准备

Python >= 3.8.0 (推荐3.9+版本)
nodejs >= 14.0 (推荐最新) 或者 16,千万不要使用18(会报错)
Mysql >= 5.7.0 (可选,默认数据库sqlite3,推荐8.0版本)
Redis(可选,最新版)
项目运行及部署 | Django-Vue-Admin

1.2.2 django-vue-admin 介绍(只做了解,不重要)

接口自动化平台,是基于 开源项目 Django-vue-admin 来写的。

Django-vue-admin 地址:

django-vue-admin: 基于RBAC模型的权限控制的一整套基础开发平台,前后端分离,后端采用 django+django-rest-framework,前端采用 vue+ElementUI。

 

二、前端项目 test_platform_front

2.1 项目启动

1、克隆项目

git clone https://github.com/18713341733/test_platform_front.git

 2、进入 test_platform_front 项目

cd test_platform_front

3、安装依赖

方式一:

npm install

方式二:

npm install --registry=https://registry.npm.taobao.org

方式三:

先安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

再使用cnpm安装依赖

sudo cnpm install --registry=https://registry.npm.taobao.org


4、 启动服务

npm run dev

5、浏览器访问

http://localhost:8080

初始账号:superadmin 密码:admin123456

后端接口文档地址:http://127.0.0.1:8000/swagger

三、后端项目 test_platform_service

3.1 项目启动

1、克隆项目

git clone https://github.com/18713341733/test_platform_service.git

 2、进入test_platform_service 项目

cd test_platform_service

3、安装依赖

pip install -r requirements.txt

4、配置mysql

在conf/env.py 中,配置mysql连接信息

3、在 env.py 中配置数据库信息 

# 使用mysql时,改为此配置
DATABASE_ENGINE = "django.db.backends.mysql"
DATABASE_NAME = 'backend' # mysql 时使用
 
# 数据库地址 改为自己数据库地址
DATABASE_HOST = "127.0.0.1"
# # 数据库端口
DATABASE_PORT = 3306
# # 数据库用户名
DATABASE_USER = "root"
# # 数据库密码
DATABASE_PASSWORD = "123456"

5、创建mysql数据库

需要手动在mysql中,创建名为backend的数据库

  • 1、mysql数据库版本建议:8.0 mysql数据库字符集:utf8mb4
  • 2、在mysql中,创建名为backend的库
CREATE DATABASE backend charset=utf8mb4;


6、生成迁移脚本

python3 manage.py makemigrations


7、执行迁移 

python3 manage.py migrate


8、执行 初始化数据 

python3 manage.py init


9、启动项目 

python3 manage.py runserver 127.0.0.1:8000


或者:

python3 manage.py runserver 0.0.0.0:8000


初始账号:superadmin 密码:admin123456

后端接口文档地址:http://127.0.0.1:8000/swagger

四、前后端联调

4. 1 修改前端监听后端服务的地址

4.1.1 启动后端项目

python3 manage.py runserver 0.0.0.0:8000


启动项目后,查一下后端的ip地址 

4.1.2 启动前端项目


1、修改前端项目监听的后端地址

 

将两个文件: .env.development 与.env.test 中的监听地址,改成真实的后端地址

# 后端接口地址及端口(域名)
VUE_APP_API = "http://192.168.43.224:8000"

 
2、启动项目:

npm run serve


http://192.168.43.224:8080/

登录前端页面

初始账号:superadmin 密码:admin123456

后台手册 | Django-Vue-Admin

4.2 配置左侧菜单栏

4.2.1 项目初始菜单配置

在dvadmin/system/fixtures/init_menu.json 中,配置初始菜单。

 {
                "name": "部门管理",
                "icon": "bank",
                "sort": 3,
                "is_link": false,
                "is_catalog": false,
                "web_path": "/dept",
                "component": "system/dept/index",
                "component_name": "dept",
                "status": true,
                "cache": false,
                "visible": true,
                "parent": 277,
                "children": [],
                "menu_button": [

is_link:如果不是外部的连接,就填写 false

is_catalog: 是否是目录

web_path: 当前页面的uri地址。

 "component": "system/dept/index" 前端组件的地址

component_name: 前端组件名称

4.2.2 配置菜单举例

TODO

4.3 后端项目结构介绍

 4.3.1  apps

apps 存放的是接口自动化所需要的app。

包括:

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

 4.3.2 conf

项目配置地址conf

4.3.3. reports

测试报告地址reports

4.3.4 utils

接口自动化所需要的工具

4.3 前端项目结构介绍

 4.3.1 接口自动化前端组件

/test_platform_front/src/views/apitest

4.3.2 接口自动化路由

/test_platform_front/src/apitestapi

五、编写接口自动化case

接口自动化底层驱动,是基于httprunner 1 实现的。

如编写一个百度的接口请求。

 

https://ug.baidu.com/mcp/pc/pcsearch

POST

body: {"invoke_info":{"pos_1":[{}],"pos_2":[{}],"pos_3":[{}]}}

header: 

Content-Type:application/json

1、创建项目

接口自动化-项目管理-项目新增

 2、配置base url

环境管理-环境新增

这里只需要填写接口的host就可以。

 3、新增接口

接口管理-接口新增

 4、配置管理--配置新增

在这里可以编写统一的header,如

Content-Type:application/json

 

 5、编写case

新增case

 编写body 

编写断言:

点击保存

5、运行case

 用例管理--用例列表

6、测试报告 

 

 

六、其他相关资料

Django实现接口自动化平台(七)数据库设计_做测试的喵酱的博客-CSDN博客

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

三、django-vue-admin开源项目二次开发——后端快速实现curd及接口_做测试的喵酱的博客-CSDN博客

二、django-vue-admin开源项目二次开发——修改默认菜单_做测试的喵酱的博客-CSDN博客

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

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

相关文章

在 K8S 中部署一个应用 上

本身在 K8S 中部署一个应用是需要写 yaml 文件的,我们这次简单部署,通过拉取网络上的镜像来部署应用,会用图解的方式来分享一下,过程中都发生了什么 简单部署一个程序 我们可以通过 kubectl run 的方式来简单部署一个应用&#…

Python深度学习027:什么是梯度、梯度消失、梯度爆炸以及如何解决

文章目录 1. 梯度的概念2. 梯度更新中存在的问题2.1 梯度消失2.2 梯度爆炸3. 解决办法3.1 梯度消失3.2 梯度爆炸1. 梯度的概念 在机器学习中,梯度是指一个多元函数在某一点处的变化率以及变化的方向。 对于一个参数化的函数,梯度可以告诉我们在一个特定的点处函数值增加最快…

分布式系统概念和设计——Mach实例研究

分布式系统概念和设计 Mach实例研究 Mach主要抽象概述 任务 一个Mach任务是一个执行环境主要包括一个被保护的地址空间和一个内存管理的权能集合这些权能主要用于访问端口 线程 任务可以包含多个线程在共享内存的多处理器中,属于同一个任务的线程可以在不同的处理…

【案例实战】SpringBoot整合Redis实现缓存分页数据查询

正式观看本文之前,设想一个问题,高并发情况下,首页列表数据怎么做? 类似淘宝首页,这些商品是从数据库中查出来的吗?答案肯定不是,在高并发的情况下,数据库是扛不住的,那么…

Java解析XML文件(DOM4J解析xml文件)

内容重点1:DOM4J创建、解析、修改XML文件 内容重点2:DOM4J模拟解析web.xml配置文件,实现实例化servlet 1、什么是xml Xml(Extensible Markup Language) 一种扩展性标示语言,出现的意义其实与JSON字符串的意义相似,是新一代的数据交换标准…

怎么加密共享文件夹?局域网共享文件夹加密方法

相信很多企业都在使用局域网共享文件夹,它可以很方便地实现各部门之间的沟通协作。但是由于使用人员众多,数据安全非常难以得到保障。那么我们该怎么加密局域网共享文件夹呢? 共享文件夹加密 首先,我们先来了解一下共享文件夹加密…

某农业大学数据结构A-第13周作业

1.拓扑排序 【问题描述】 拓扑排序的流程如下: 1. 在有向图中选一个没有前驱的顶点并且输出之; 2. 从图中删除该顶点和所有以它为尾的弧。 重复上述两步,直至全部顶点均已输出,或者当前图中不存在无前驱的顶点为止。后一种情况则…

渲染模式差异和选择

传统服务端渲染 在过去传统开发中,页面渲染任务是由服务端完成的,服务器负责获取数据,拼装页面,客户端仅负责内容显示,使用这种方式的典型技术有 JSP、PHP、ASP.NET 等等。 客户端渲染 CSR Vue.js、React 这类框架之…

专访蘑菇物联沈国辉:做工业AI时代的推动者

在中国制造迈向高质量发展的进程中,数智化转型会成为破局之道。在这其中,蘑菇物联除了是一个本分的答题者,还是一个善于发现问题的贡献者。 作者|思杭 编辑|皮爷 出品|产业家 从广州造纸厂到广州造船厂,从第一橡胶厂到电池厂&a…

利用R语言通过百度地图API进行批量地理编码

利用R语言通过百度地图API进行批量地理编码 当您有大量的地点名称需要在地图上来呈现时,首先要在在线地图上找到该地址的坐标,通常是指经纬度,如果能够用代码来实现,便少了许多费时费力的体力活儿,以下将详细介绍地理…

数据结构的一些总结---利用Python实现

大家好,我是北山啦,本文简单介绍Python数据结构的相关内容,简单就是很简单的那种 文章目录 查找线性查找 O(n)二分查找(Binary Search) O(logn) 排序排序Low B三人组冒泡排序选择排序插入排序 排序NB三人组快速排序归并排序 数据结构栈和队列…

[Day 3 of 17]Building a document scanner in OpenCV

a computer vision-powered document scanner 计算机视觉驱动的文档扫描仪,三个步骤: 边缘检测edges通过边缘,找到代表待扫描纸张的轮廓contour应用透视转换(a perspective transform)获得文档自上而下的视图 How to Build a Kick-Ass Mob…

录音转文字的方法有哪些?这三个录音转文字的方法有哪些

你是否曾经遇到过这样的场景:在开会或者采访时,需要记录重要信息,但是手写记录或打字速度跟不上对话节奏,甚至难以记录所有细节。此时,录音转文字软件就派上用场了。然而,市场上有太多种选择,到…

【Vue3 生态】Vue Router 路由知识概览

前言 在 Web 前端开发中,路由是非常重要的一环,但是路由到底是什么呢? 从路由的用途上讲 路由是指随着浏览器地址栏的变化,展示给用户不同的页面。 从路由的实现原理上讲 路由是URL到函数的映射。它将 URL 和应用程序的不同部分…

低代码平台——提高研发效率的神器

一、前言 听起来像是一个噱头,但是低代码确实是一个能够快速提高研发效率的神器。 通过使用低代码平台,研发人员可以节省好几个月的时间,将前后端各种功能可视化以搭积木的形式快速完成。今天,我们将深入探讨低代码开发平台的特点…

两阶段目标检测指南:R-CNN、FPN、Mask R-CNN

动动发财的小手,点个赞吧! Source[1] 多阶段(Two-stage)物体检测 计算机视觉中最基本和最广泛研究的挑战之一是目标检测。该任务旨在在给定图像中绘制多个对象边界框,这在包括自动驾驶在内的许多领域非常重要。通常&am…

一种看门狗复位电源的电路

如下是一个看门狗复位电源的电路: 满足掉电能被监测到,掉电后利用法拉电容保持后级模组继续工作一段时间。 看门狗可以关闭电源 320ms 20ms ,对后级模组起到断电复位作用。 同时复位电源拉低的是VCC_4V 而非超级电容所在的VCC_4V_IN,并不会…

SpringBoot项目的事务实现

说明:当业务中的某个功能,需要多个操作组合执行才能完成时(如删除部门,部门下的员工也需要同步删除时),为了保证数据的一致性,需要对这些组合操作添加事务。(参考:http:/…

从电源 LED 读取智能手机的秘密?

研究人员设计了一种新的攻击方法,通过记录读卡器或智能手机打开时的电源 LED,使用 iPhone 摄像头或商业监控系统恢复存储在智能卡和智能手机中的加密密钥。 众所周知,这是一种侧信道攻击。 通过密切监视功耗、声音、电磁辐射或执行操作所需…

一、elasticsearch的简介与安装

目录 一、Elasticsearch下载 二、安装 三、启动 四、安装可视化插件(elasticsearch-head) 1、下载地址 2、解压缩下载好的压缩文件 3、进入解压缩目录 五、解决跨域问题 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方…