[开源]基于流程编排的自动化测试工具,插件驱动,测试无限可能

news2024/11/17 16:34:32

一、开源项目简介

流程编排,插件驱动,测试无限可能

一款基于流程编排的自动化测试工具

二、开源协议

使用Apache-2.0开源协议

三、界面展示

四、功能概述

在软件开发旅程中,测试流程的管理和执行常常是复杂且耗时的挑战。传统测试工具主要面接口级自动化向无法满足多样化需求,无法扩展多样性需求。TestHub 诞生解决此问题。

我们引入独特的流程编排功能,轻松定义、管理和执行测试流程。TestHub 插件式架构扩展能力无限,适用于自动化测试、流程调度及其他自动化任务。

TestHub 提供直观易用界面,直观设计测试流程。简单拖放和连接步骤构建完整测试流程,包括执行测试用例、准备数据、配置环境等。在统一平台上高效一致完成。

选择 TestHub 自动化测试工具,流程编排驱动测试流程。优化测试流程,释放更多时间和资源创新品质。加入 TestHub,引领自动化测试未来!

迭代方向

功能

支持

支持多项目

用户权限

行为库

H2 数据库

执行计划管理

前端拖拉拽配置

HTTP 工具

五、技术选型

工程目录

目录

说明

nsrule

NsRule 规则引擎源码

server

TestHub 后端源码

client

TestHub 前端源码

doc

TestHub 使用手册源码

docker

TestHub 的 docker 镜像构建脚本

static

markdown 文件资源

demo

TestHub 的演示 Demo

部署

安装包下载

查看 README.md 文档。

docker 部署 演示 demo

获取项目源码

访问一飞开源:https://code.exmay.com/ 下载

切换到 演示 demo 的 docker compose 配置中

cd TestHub/demo/TestHubDemo/

启动 TestHubDemo

docker-compose up -d

执行成功后会启动以下服务

服务名

服务说明

宿主机端口

容器 IP

容器端口

备注

testhub

TestHub 项目

11018 前端;12003 后端

192.168.0.3

11018 前端;12003 后端

server

被测试的 web 项目

12004

192.168.0.4

12004 http 接口

postgres

被测试的数据库

12005

192.168.0.5

5432

用户名密码均为 postgres

前端接口地址 http://127.0.0.1:11018/

后端接口文档 http://127.0.0.1:12003/swagger-ui/index.html#/

docker 部署 TestHub

获取 TestHub 镜像

docker pull vinc02131/testhub:1.0.0

运行

docker run -d -p 12003:12003 -p 11018:11018 vinc02131/testhub:1.0.0

前端接口地址 http://127.0.0.1:11018/

后端接口文档 http://127.0.0.1:12003/swagger-ui/index.html#/

源码部署 TestHub

获取项目源码

访问一飞开源:https://code.exmay.com/ 下载

启动后台服务

依赖 jdk17

  1. 安装 nsrule 依赖。nsrule 项目 暂未发布中央仓库,需要打开 nsrule 的工程执行 mvn install 安装到本地仓库
  2. 打开 server 中的 TestHub 项目,执行 TestHubApplication
  3. 后端接口文档 : http://127.0.0.1:12003

启动前端服务

依赖 node v19.5.0

1. 命令行切换到 front 目录中。

2. 导入项目依赖

  yarn install

3. 启动项目

   yarn start

4. 前端地址 : http://localhost:8000

六、源码地址

TestHub: 一款基于流程编排的自动化测试工具

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

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

相关文章

c++ 类的特殊成员函数:移动构造函数(五)

1. 简介 移动构造函数是C11中的新特性,它允许对象通过移动而不是复制来传递和初始化。移动构造函数通常用于提高性能,因为它避免了不必要的复制操作,特别是当处理大型对象或使用动态内存分配时。 2. 来源 当拷贝构造函数出现函数返回值 &a…

kafka广播消费组停机后未删除优化

背景 kafka广播消息的时候为了保证groupId不重复,再创建的时间采用前缀时间戳的形式,这样可以保证每次启动的时候是创建的新的,但是 会出现一个问题:就是每次停机或者重启都会新建一个应用实例,关闭应用后并不会删除…

如何调整 Kubernetes StatefulSet 卷的大小

Kubernetes StatefulSet用于在集群内部署有状态应用程序。StatefulSet 中的每个 Pod 都可以访问即使在重新调度后仍坚持使用的本地持久卷。这使得 Pod 能够维护与其集合中的邻居不同的单独状态。 不幸的是,这些卷有一个很大的限制:Kubernetes 没有提供从 StatefulSet 对象调整…

排序算法-冒泡排序法(BubbleSort)

排序算法-冒泡排序法(BubbleSort) 1、说明 冒泡排序法又称为交换排序法,是从观察水中的气泡变化构思而成的,原理是从第一个元素开始,比较相邻元素的大小,若大小顺序有误,则对调后再进行下一个…

排序算法-选择排序法(SelectionSort)

排序算法-选择排序法(SelectionSort) 1、说明 选择排序法也是枚举法的应用,就是反复从未排序的数列中取出最小的元素,加入另一个数列中,最后的结果即为已排序的数列。选择排序法可使用两种方式排序,即在所…

基于nodejs+vue驾校预约管理系统

通过科技手段提高自身的优势;对于驾校预约管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了驾校预约管理系统, 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,驾校预约管理系统&am…

【Rust】包和模块,文档注释,Rust格式化输出

文章目录 包和模块包 CrateRust 的标准目录结构 模块 Module用路径引用模块使用super引用模块使用self引用模块结构体和枚举的可见性 使用 use 引入模块及受限可见性基本引入方式绝对路径引入模块相对路径引入模块中的函数 避免同名引用 注释和文档文档注释包和模块级别的注释注…

conda: error: argument COMMAND: invalid choice: ‘activate‘

参考:https://github.com/conda/conda/issues/13022 输入后重启terminal即可

Spring Boot 开发环境热部署

Spring Boot 项目无法像前端项目那样,修改源代码后刷新网页就能即时看到效果,需要先暂停运行,再重新启动,最后刷新网页。 为了避免这一麻烦的操作,我们可以设置热部署,启动服务后不论怎么修改源码&#xf…

NodeJs中使用JSONP和Cors实现跨域

跨域是为了解决浏览器请求域名,协议,端口不同的接口,相同的接口是不需要实现跨域的。 1.使用JSONP格式实现跨域 实现步骤 动态创建一个script标签 src指向接口的地址 定义一个函数和后端调用的函数名一样 实现代码 -- 在nodejs中使用http内…

【Mysql】重新认识mysql(一)

参考Mysql是怎么运行的,并结合实际的工作经验对mysql的知识进行总结。 Mysql架构 从大体上来说,Mysql是C/S架构。以我们平时使用的QQ为例,它其实是由两部分组成的,一部分是客户端程序,,一部分是服务器程序。客户端可…

【深蓝学院】手写VIO第6章--视觉前端--作业(SVD分解部分复习)

0. 题目 T1. 奇异值分解需要补,看这篇博客,讲的很好。 总结一下,关于奇异值分解(Singular Value Decomposition,SVD )有以下内容摘抄自该博客,关于SDV分解的部分应该是摘自李航《统计学习方法里面的》: 1…

互联网性能和可用性优化CDN和DNS

当涉及到互联网性能和可用性优化时,DNS(Domain Name System)和CDN(Content Delivery Network)是两个至关重要的元素。它们各自发挥着关键作用,以确保用户能够快速、可靠地访问网站和应用程序。在本文中&…

项目管理之常见七大问题挑战

在当今复杂多变的市场环境下,企业为了生存和发展,必须不断应对和解决各种挑战。其中,项目管理作为企业运营及项目交付等的重要组成部分,也面临着七大问题挑战。这些挑战不仅影响着项目的成功实施,也对企业的发展产生着…

[Spring] SpringMVC 简介(一)

目录 一、SpringMVC 简介 1、什么是 MVC 2、什么是 SpringMVC 3、SpringMVC 实现原理 4、SpringMVC 的特点 二、简单案例 1、引入依赖 2、在 web.xml 中配置前端控制器 DispatcherServlet 3、创建 SpringMVC 的配置文件 4、创建请求控制器 5、测试页面 6、访问不到 …

Go 存储系列:B+树存储引擎 boltdb

boltdb 介绍 boltdb是一个纯go编写的支持事务的文件型单机kv数据库 支持事务: boltdb数据库支持两类事务:读写事务、只读事务。这一点就和其他kv数据库有很大区别文件型: boltdb所有的数据都是存储在磁盘上的,所以它属于文件型数…

信号与系统第一章

文章目录 1.1连续信号与离散信号1.1.2信号能量与功率能量讨论无穷区间内功率和能量:无限区间内的平均功率:利用上述定义区分三种重要信号 1.2自变量的变换1.2.1举例基本变换1.2.2周期信号1.2.3偶信号与奇信号 1.3指数信号与正弦信号1.3.1连续时间复指数信…

LeetCode(力扣)416. 分割等和子集Python

LeetCode416. 分割等和子集 题目链接代码 题目链接 https://leetcode.cn/problems/partition-equal-subset-sum/ 代码 class Solution:def canPartition(self, nums: List[int]) -> bool:sum 0dp [0]*10001for num in nums:sum numif sum % 2 1:return Falsetarget …

python之计算市场技术指标

1、MA MA指标是一种常用的技术指标,它是通过计算一定时间内的股价平均值来反映股价趋势的指标。通常,MA指标越平滑,就能更好地反映出股价的长期趋势。 MA指标的作用是帮助投资者识别股票价格的趋势。当股票价格的MA指标向上运动时&#xff…

分类网络的评价指标

之前一直是做目标检测的研究,在目标检测中主要有两个任务,一个是分类回归,一个是位置回归,所用的评价指标有:AP,mAP,Recall,Precision,F1值,前两个用的一般最…