• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

QAPlatform: HTTP接口测试平台

原作者: [db:作者] 来自: 网络 收藏 邀请

QAPlatform

1、介绍

  • 该系统是HTTP接口自动化测试平台,采用前后端分离开发,QAPlatform是该系统的后端程序,QAPlatformWed是该系统的前端程序。作者已将前端程序进行了打包,dist目录即为前端打包程序。

  • 操作手册地址(持续更新中……)https://gitee.com/xiangjunzhao/QAPlatformDocs

  • 在线体验地址

  • 自行搭建平台,登录信息

    • 账号:13612345678
    • 密码:123456
  • 项目参与者:三哥

  • 交流方式

    • QQ群:112967924
  • 如果对您有帮助,请点亮 小星星 以表支持,谢谢

小星星

2、软件架构

QAPlatform 使用Python3进行开发,主要选用了 django+django rest framework(简称:drf)+pymysql+redis+celery+uwsgi 框架组合。

  • django+drf:提供restful风格的API接口服务
  • pymsql:提供mysql数据库持久化功能
  • redis:提供数据缓存功能
  • celery:提供定时任务及异步任务功能
  • requests:提供http接口测试功能

3、部署教程

本次部署环境为CentOS7操作系统。Windows操作系统,请参阅README.windows.md文档。
本项目采用docker+mysql+redis+nginx+uwsgi进行部署;其中redis、mysql、nginx使用了docker部署,用户可以使用自己熟悉的方式安装redis、mysql、nginx。

3.1、CentOS7安装docker

yum install -y epel-release docker-io

3.2、docker安装redis

docker run -d --name redis -p 6379:6379 --restart=always docker.io/redis:latest

3.3、docker安装mysql

安装mysql数据库docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --restart=always -v /var/lib/mysql:/var/lib/mysql docker.io/mysql:5.7.28

3.4、docker安装nginx,部署前端程序

docker run -d --name nginx -p 80:80 --restart=always docker.io/nginx# 注意:结合部署环境的情况,修改nginx配置如下# 1、修改QAPlatform部署的服务器IP以及服务监听的端口# 示例:系统部署的服务器ip为172.17.0.1;uwsgi.ini设置的程序端口为8000,那么upstream QAPlatform配置如下代码所示upstream QAPlatform {    # ip使用部署服务器的ip或域名,端口与uwsgi.ini设置的端口保持一致    server 172.17.0.1:8000;}# 2、修改nginx监听的端口,默认监听的是80端口# 示例:nginx监听的端口为80,那么server listen配置如下代码所示server {    listen 80;}# 3、将 nginx配置文件 目录下的nginx-socket.conf更名为nginx.conf;再将nginx.conf拷贝到nginx容器的/etc/nginx目录中docker cp ./nginx配置文件/nginx.conf nginx:/etc/nginx# 4、将已打包的前端程序dist目录中的文件拷贝到nginx容器的/home/QAPlatformWeb目录中docker cp ./dist nginx:/home/QAPlatformWeb# 5、将nginx服务重新加载docker exec nginx nginx -s reload

3.5、安装Python、Pip环境,创建虚拟环境

一、安装Python环境# 1、安装依赖sudo yum install -y libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel zlib gcc make# 2、下载Python程序# Python包地址:https://www.python.org/ftp/python/wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz# 3、解压Python-3.8.5.tgztar -zxvf Python-3.8.5.tgz# 4、编译安装sudo mkdir /usr/local/python3.8.5cd Python-3.8.5sudo ./configure --prefix=/usr/local/python3.8.5sudo make && sudo make install# 5、建立软链接sudo ln -s /usr/local/python3.8.5/bin/python3 /usr/bin/python3sudo ln -s /usr/local/python3.8.5/bin/pip3 /usr/bin/pip3# 6、验证安装python3 -Vpip3 -V二、安装虚拟环境、创建虚拟环境# 1、安装虚拟环境virtualenvyum install -y python-virtualenv# 2、创建虚拟环境# 在项目根目录创建虚拟环境virtualenv -p python3 venv# 3、激活虚拟环境source ./venv/bin/activate# 4、退出虚拟环境deactivate

3.6、安装项目依赖

# 在激活的虚拟环境中安装项目依赖# 在requirements.txt所在目录中执行以下命令pip install -r requirements.txt

3.7、迁移数据库,导入初始数据

# 创建数据库# 1、进入mysql docker容器docker exec -it mysql /bin/bash# 2、登录mysql数据库mysql -uroot -proot# 3、创建QAPlatform数据库CREATE DATABASE IF NOT EXISTS QAPlatform DEFAULT CHARSET utf8 COLLATE utf8_general_ci;# 注:本项目的数据库名为:QAPlatform,用户名为:root,密码为:root;用户可根据实际需求,创建相应的数据库以及用户名和密码,并且在项目的QAPlatform/settings.py文件中修改数据库配置,保持一致即可。# 执行迁移数据库,在manage.py所在目录执行以下命令python manage.py makemigrationspython manage.py migrate# 数据库迁移成功生成表后,执行 sql 文件夹中的脚本,导入初始数据# 执行顺序:basic_user.sql、basic_role.sql、basic_user_roles.sql、basic_markdown.sql、basic_permission.sql

4、使用说明

4.1、启动、停止uwsgi服务

# 启动服务,参数-d代表后台运行uwsgi -d --ini uwsgi.ini# 重新加载服务uwsgi --reload uwsgi.pid# 停止服务uwsgi --stop uwsgi.pid

4.2、启动定时服务celery

# 在项目QAPlatform目录中执行以下命令,启动celery定时服务nohup celery worker -A QAPlatform --loglevel=info --pool=solo --pidfile=celery-worker.pid --logfile=./logs/celery-worker.log &

4.3、启动定时调度服务django_celery_beat

# 在项目QAPlatform目录中执行以下命令,启动celery定时调度服务nohup celery beat -A QAPlatform --loglevel=info --scheduler django_celery_beat.schedulers:DatabaseScheduler --pidfile=celery-beat.pid --logfile=./logs/celery-beat.log &

5、前端界面展示

5.1、定时任务服务

  • 5.1.1、Crontab日程列表
    Crontab日程列表
  • 5.1.2、添加Crontab
    添加Crontab
  • 5.1.3、定时任务列表
    定时任务列表
  • 5.1.4、添加定时任务
    添加定时任务

5.2、接口自动化测试

  • 5.2.1、环境列表
    环境列表

  • 5.2.2、创建环境
    创建环境

  • 5.2.3、项目列表
    项目列表

  • 5.2.4、编辑项目
    编辑项目

  • 5.2.5、模块列表
    模块列表

  • 5.2.6、接口列表
    接口列表

  • 5.2.7、创建接口—基础信息
    创建接口—基础信息

  • 5.2.8、创建接口—Headers参数定义
    创建接口—Headers参数定义

  • 5.2.9、创建接口—Body参数定义
    创建接口—Body参数定义

  • 5.2.10、创建接口—用例期望结果定义
    创建接口—用例期望结果定义

  • 5.2.11、EXCEL导入接口和用例模板
    EXCEL导入接口和用例模板

  • 5.2.12、EXCEL导入接口和用例
    EXCEL导入接口和用例

  • 5.2.13、扩展方法列表
    扩展方法列表

  • 5.2.14、用例列表
    用例列表

  • 5.2.15、创建用例
    创建用例

  • 5.2.16、导入用例
    导入用例

  • 5.2.17、编辑调试用例—基础信息
    编辑调试用例—基础信息

  • 5.2.18、编辑调试用例—Headers参数
    编辑调试用例—Headers参数

  • 5.2.19、编辑调试用例—Body参数
    编辑调试用例—Body参数

  • 5.2.20、编辑调试用例—期望结果
    编辑调试用例—期望结果

  • 5.2.21、编辑调试用例—调试用例
    编辑调试用例—调试用例

  • 5.2.22、场景列表
    场景列表

  • 5.2.23、创建场景—基础信息
    创建场景—基础信息

  • 5.2.24、创建场景—全局参数配置
    创建场景—全局参数配置

  • 5.2.25、场景组织用例
    场景组织用例

  • 5.2.26、场景集列表
    场景集列表

  • 5.2.27、场景集组织场景
    场景集组织场景

  • 5.2.28、测试结果—用例结果列表
    测试结果—用例结果列表

  • 5.2.29、测试结果—用例结果详情
    测试结果—用例结果详情

  • 5.2.30、测试结果-场景结果列表
    测试结果-场景结果列表

  • 5.2.31、测试结果—场景结果详情
    测试结果—场景结果详情

  • 5.2.32、测试报表
    测试报表

  • 5.2.33、用例测试报告
    用例测试报告

  • 5.2.34、场景测试报告
    场景测试报告

  • 5.2.35、帮助文档
    帮助文档

6、捐赠

如果对您有帮助,请微信扫码,捐赠以表支持,谢谢

捐赠


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap