[开源]一款高效、可靠的自动化测试平台,提升效率、降低测试成本

开源系统流程管理
2026-06-28 03:50 1 次浏览 • 0 次下载 0KB
[开源]一款高效、可靠的自动化测试平台,提升效率、降低测试成本

一、开源项目简介

扬帆测试平台

扬帆测试平台是一款高效、可靠的自动化测试平台,旨在帮助团队提升测试效率、降低测试成本。该平台包括用例管理、定时任务、执行记录等功能模块,支持多种类型的测试用例,目前支持API(http和grpc协议)、性能,并且可定制化,灵活满足不同场景的需求。其中,用例管理模块支持上传、编辑、复制、删除等基础操作,同时支持批量执行、并发执行等高级功能。通过用例设置,可以设置用例的基本信息、运行配置、环境变量等,灵活控制用例的执行。而定时任务模块支持引用一个或多个用例,实现用例的自动执行,支持并发运行、任务标签等功能,后续支持CI/CD集成,实现全自动化的测试流程。扬帆测试平台还提供执行记录模块,记录测试用例的执行结果,支持查看测试报告、执行日志等详细信息,方便对测试结果进行分析和优化。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

四、功能概述

支持功能

  • 用户管理
  • 项目管理
  • 环境管理
  • 接口管理
  • 测试用例管理
  • 用例之间的数据传递:请求头和参数导出
  • 定时任务
  • 通过标签运行定时任务(可用户发版时做全量回归)
  • 定时任务并发执行,定时任务可以根据用户设置并发数,节省等待时间
  • 生成测试报告
  • 网络性能采集:在场景化接口测试的基础上,可额外采集网络链路性能指标(DNS 解析、TCP 连接、SSL 握手、网络传输等)
  • 数据驱动parameterize
  • python 函数驱动
  • 支持sql操作
  • 可视化数据报表
  • 数据驱动parameterize,页面操作
  • go 函数驱动
  • 支持更多协议,WebSocket、TCP、RPC等
  • 已支持协议:HTTP/2、Grpc
  • 支持用例导入,json、postman、swagger等
  • 性能测试
  • web UI 自动化测试

五、技术选型

  • 前后端采用gin-vue-admin v2.5.3, Gin + Vue全栈开发基础平台
  • 测试引擎采用HttpRunner V4,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。
  • 测试平台接入HttpRunner V4

部署方式

环境准备1、新建数据库,并导入docs/sql/yangfan.sql文件2、修改server/config.yaml文件中的数据库mysql、飞书登录fs相关配置3、修改web/.env.development、 web/.env.production中的VITE_FS_LOGIN、VITE_FS_APP_ID4、管理员账号yangfan,密码123456

本地调试

项目上线

前端

在web目录下执行 npm run build 得到 dist文件夹 将dist文件夹上传到服务器 建议使用nginx进行代理 并且设置 proxy 把请求代理到后端

后端

首次安装运行,由于httprunner在Linux上环境缺少pip,所以需要执行2-4步骤,非首次安装只需要执行步骤1即可

执行脚本start_server.sh,config为根目录下的config.production.yaml进入接口管理并在任意功能模块(接口管理、测试套件、测试用例、定时任务)运行1次cd ./docs,执行
/root/.hrp/venv/bin/python3 get-pip.py重启服务

nginx 配置


server {
    listen  8080;
    server_name localhost;

    #charset koi8-r;
    #access_log  logs/host.access.log  main;

    location / {
        root /usr/share/nginx/html/dist;
        add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_set_header Host $http_host;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        rewrite ^/api/(.*)$ /$1 break;  #重写
        proxy_pass http://127.0.0.1:8888; # 设置代理服务器的协议和地址
     }
    location  /form-generator {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://127.0.0.1:8888;
    }
    location /api/swagger/index.html {
        proxy_pass http://127.0.0.1:8888/swagger/index.html;
     }
 }