MacOS下TestHubo安装配置指南
TestHubo是一款开源免费的测试管理工具, 下面介绍MacOS私有部署的安装与配置。TestHubo 私有部署版本更适合有严格数据安全要求的企业,支持在本地或专属服务器上运行,以实现对数据和系统的完全控制。
1、Mac 服务端安装
- Mac安装包下载地址:https://download.tiklab.net/testhubo
- 下载完成后,获取名为 tiklab-testhubo.x.x.x.dmg 的可执行文件。
- 双击打开 .dmg 文件,将 Postin 拖入 应用程序 文件夹。
- 安装完成后,点击 应用程序 文件夹中的 TestHubo快捷方式启动服务。
2、Mac Agent安装
- Mac安装包下载地址: https://download.tiklab.net/download/testhuboAgent
- 下载完成后,获取名为 tiklab-testhubo-agent-x.x.x.dmg 的可执行文件。
- 双击打开 .dmg 文件,将 Postin 拖入 应用程序 文件夹。
- 安装完成后,点击 应用程序 文件夹中的 TestHubo快捷方式启动服务。
3、登录
3.1 默认账号
用户名:admin,密码:123456

首页:

3.2 登录方式
- 默认本地
默认支持通过账号密码登录,满足基础登录需求。若需要使用企业微信、钉钉或 LDAP 等高级登录方式,可参阅TesHubo文档获取相关配置说明。
- 统一登录
支持通过Soular门户中心的统一登录,登录方式同上,方便用户在多个应用间无缝切换。统一登录方式需安装 Soular,具体安装步骤可参考Soular文档。

4、配置
允许自定义端口、数据存放目录、数据库连接、数据库备份策略和统一登录设置,以满足特定个性化需求。
yaml文件默认位置:
| 系统 | 默认位置 |
| Windows | 默认在安装目录 --> conf目录下 |
| Mac | 默认在app下的Contents --> conf 目录下 |
| Linux | 默认在/opt/testhubo/conf 目录下 |
| Docker | 默认在镜像文件内/usr/local/testhubo/conf 目录下 |
4.1 应用启动端口自定义
允许用户自定义应用的启动端口,以便在特定网络环境下避免端口冲突或满足其他配置需求。

| 属性 | 值 |
| server.port | 系统启动的端口号(可更改) |
4.2 数据存放目录自定义
支持用户自定义数据存放目录的位置,帮助用户根据需要选择存储路径。

| 属性 | 值 |
| DATA_HOME | 数据文件存放地址 |
4.3 数据库自定义
支持自定义数据库连接方式,用户可以选择使用内嵌数据库或指定外部数据库地址。根据需求配置数据库连接。

| 属性 | 值 |
| postgresql.embbed.enable | 是否使用内嵌数据库,true:使用 false:不使用。如果配置为false,需要把该文件中jdbc下的数据库连接信息更改为自己的数据库地址,用户名以及密码。 |
| postgresql.database | 是否使用内嵌数据库默认连接的数据库,默认为testhubo-ee如果更改次默认值需要把jdbc下的数据库连接信息更改为新的数据地址。 |
| postgresql.db.port | 使用内嵌数据库的启动端口,默认为8301,如果更改需要同时把jdbc.url中的数据库连接地址端口更改。 |
| postgresql.db.username | 使用内嵌数据库的用户名,默认为postgres,如果更改需要同时把jdbc.username中的数据库连接地址用户名更改。 |
| postgresql.db.password | 使用内嵌数据库的密码,默认为darth2020,如果更改需要同时把jdbc.password中的数据库连接地址密码更改。 |
| postgresql.db.address | 使用内嵌数据库的数据库文件保存位置,默认为${DATA_HOME}/postgresql,即默认的应用数据目录下的postgresql目录。注:如果更改该目录,该路径目录必须为空目录,否则会导致数据库无法启动。 |
| jdbc.url | 默认是:jdbc:postgresql://localhost:8301/testhubodb?stringtype=unspecified 其中 8301为端口号,testhubodb为数据库名字,这两个可更改 但是端口号必须与postgresql.db.port 保持一致 数据库名字必须与postgresql.database 保持一致 |
| jdbc.username | 数据库登录名,必须与postgresql.db.username一致 |
| jdbc.password | 数据库登录密码,必须与postgresql.db.password一致 |
4.4 备份数据库自定义
允许用户自定义备份配置,包括设置备份的时间和选择备份文件的存储路径。

| 属性 | 值 |
| backups.time | 备份时间,corn表达式格式,默认为凌晨两点。 |
| backups.dir | 备份地址,默认为${DATA_HOME}/backups,即应用数据目录下的backups文件夹。 |
4.5 配置统一登录
统一登录,即统一使用Soular的用户,部门等,这样配置可以让一个用户同时使用多个应用。需要安装Soular,具体安装详见Soular文档

| 属性 | 说明 |
| soular.embbed.enable | 是否为统一登录,true: 本地模式 false:统一模式 |
| soular.address | Soular的应用地址,统一模式 必填 |
5、更新
TestHubo支持用户使用脚本一键升级,只需要执行应用升级脚本即可。
TestHubo的升级脚本位置:
| 系统 | 默认位置 |
| Windows | 进入默认安装目录 --> 进入bin目录 --> 执行update.bat脚本。 |
| Mac | 进入app下的Contents --> 进入bin目录 --> 执行update.sh脚本。 |
| Linux | 默认在/opt/testhubo/bin 目录下 --> 执行update.sh脚本。 |
| Docker | 默认在镜像文件内/usr/local/testhubo/bin 目录下 --> 执行update.sh脚本。 |
6、升级到企业版
TestHubo 安装后默认为免费版,要启用企业版功能,用户需要访问官网订阅并购买 License 密钥。购买后上传 License 密钥即可升级至企业版,解锁更多高级功能和扩展服务。
6.1 试用
TestHubo 提供企业版功能的试用,用户可以在试用期内体验所有企业版功能。试用步骤如下:
- 进入个人中心
浏览器进入Tiklab官网 --> 点击左上角登录 --> 点击左上角头像进入个人中心
- 试用
点击订阅 --> 点击订阅管理 --> 选择Postin --> 点击企业版试用
6.2 订阅
用户可以根据企业的需求选择合适的订阅时长和人数,灵活配置以满足不同团队的要求。订阅步骤如下:
- 进入个人中心
浏览器进入Tiklab官网 --> 点击左上角登录 --> 点击左上角头像进入个人中心
- 订阅
点击订阅 --> 点击订阅管理 --> 选择Postin--> 点击订阅
6.3 Licence下载与导入
- Licence下载
完成订阅或试用后,用户可以在订阅管理中查看已订阅的 TestHubo 产品,并下载相应的 Licence 文件。
- 导入Licence
TestHubo 支持在线直接升级功能,用户可以通过导入 Licence 文件启用企业版功能。
操作步骤:系统设置 --> 版本与许可证 --> 导入Licence
7、帮助与支持
在安装过程中遇到问题?我们为你准备了详细的文档和教程,帮助你快速解决任何问题。访问 TestHubo文档中心,获取详细的配置指南和常见问题解答。如果需要更多帮助,欢迎随时向我们的活跃社区提问,与你的同行们共同探讨解决方案!
- 文档:https://doc.tiklab.net/document/d396a1bc29fe
- 社区:https://developer.tiklab.net
相关文章:
MacOS下TestHubo安装配置指南
TestHubo是一款开源免费的测试管理工具, 下面介绍MacOS私有部署的安装与配置。TestHubo 私有部署版本更适合有严格数据安全要求的企业,支持在本地或专属服务器上运行,以实现对数据和系统的完全控制。 1、Mac 服务端安装 Mac安装包下载地址&a…...
mysql性能问题排查
生产环境 Mysql执行性能分析 问题排查思路通过 performance_schema 分析performance_schema 说明查询 performance_schema 所有表信息performance_schema 相关表 主要相关介绍events_statements_history 分析慢查询 和查询当时状态字段说明 问题排查思路 查询慢SQL日志查询SQL…...
centos单机部署seata
文章目录 场景分析下载seata包启动 场景 centos7.9 jdk17 安装部署seata 分析 jdk和seata的版本对应关系如图 JDK版本 推荐 Seata 版本 理由 JDK 8 任何 Seata 版本 JDK 8 是 Seata 长期支持的版本,兼容性最好。 JDK 11 Seata 1.2.0 适合需要长期支持且性能较高的应…...
YOLOv9-0.1部分代码阅读笔记-lion.py
lion.py utils\lion.py 目录 lion.py 1.所需的库和模块 2.class Lion(Optimizer): 1.所需的库和模块 # Lion优化器是一种新型的神经网络优化算法,由Google Brain团队通过遗传算法发现,全称为EvoLved SIgn MOmeNtum,意为“进化的符号动…...
运行Zr.Admin项目(前端)
1.确认环境信息 我这里装的是node16.17版本的 官网16版本的最新为v16.20.2,下载链接https://nodejs.org/dist/v16.20.2/node-v16.20.2-x64.msi 2.去掉ssl 进入到Zr.Admin项目根目录,进入到ZR.vue 打开package.json 文件,删除启动命令配置中…...
HarmonyOS NEXT 实战之元服务:静态多案例效果(一)
背景: 前几篇学习了元服务,后面几期就让我们开发简单的元服务吧,里面丰富的内容大家自己加,本期案例 仅供参考 先上本期效果图 ,里面图片自行替换 效果图1代码案例如下: import { authentication } from…...
go下载依赖提示连接失败
1、现象 Go下载模块提示连接失败 dial tcp 142.251.42.241:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.…...
JS 异步 ( 二、Promise 的用法、手写模拟 Promise )
文章目录 一、Promise 基础Promise 作用Promise 语法Promise 内部状态值 和 链式调用Promise 是否为异步执行Promise 常用函数或属性 二、模拟 Promise,加深理解 一、Promise 基础 Promise 作用 1. 回调地狱 想知道 Promise 的作用, 需要先了解一个概念叫…...
五分钟学会如何在GitHub上自动化部署个人博客(hugo框架 + stack主题)
上一篇文章: 10分钟学会免费搭建个人博客(Hugo框架 stack主题) 前言 首先,想要实现这个功能的小伙伴需要完成几个前置条件: 有一个GitHub账号安装了git,并可以通过git推送commit到GitHub上完成第一篇文章…...
【ETCD】【实操篇(十五)】etcd集群成员管理:如何高效地添加、删除与更新节点
etcd 是一个高可用的分布式键值存储,广泛应用于存储服务发现、配置管理等场景。为了确保集群的稳定性和可扩展性,管理成员节点的添加、删除和更新变得尤为重要。本文将指导您如何在etcd集群中处理成员管理,帮助您高效地维护集群节点。 目录 …...
灵当CRM uploadfile.php 文件上传致RCE漏洞复现
0x01 产品简介 灵当CRM是一款专为中小企业打造的智能客户关系管理工具,由上海灵当信息科技有限公司开发并运营。广泛应用于金融、教育、医疗、IT服务、房地产等多个行业领域,帮助企业实现客户个性化管理需求,提升企业竞争力。无论是新客户开拓、老客户维护,还是销售过程管…...
Linux下Java通过JNI调用C++
以下为Demo流程 1.创建Java文件 public class HelloWord {// 声明本地方法public native void sayHello();static {// 加载本地库System.loadLibrary("hello");}public static void main(String[] args) {new HelloWord().sayHello();} } 2.编译生成.h头文件 在H…...
解决:excel鼠标滚动幅度太大如何调节?
在excel里为什么滚动一次跳过很多行呢?很不方便。。。 1. 问题: 一开始单元格从第1行开始: 鼠标轻轻滚动一下后,直接跳到第4行: 鼠标在word和浏览器里都是好好的。在excel里为什么不是滚动一次跳过一行呢ÿ…...
Git和SVN有什么区别?
Git和SVN是两种流行的版本控制系统,它们在实现方式、使用场景和特性上存在一些关键区别: 分布式 vs 集中式: Git:是分布式的版本控制系统。每个开发者都有一个完整的仓库副本,可以离线工作,并在本地进行所有…...
【深度学习基础|pip安装】pip 安装深度学习库常见错误及解决方案,附案例。
【深度学习基础|pip安装】pip 安装深度学习库常见错误及解决方案,附案例。 【深度学习基础|pip安装】pip 安装深度学习库常见错误及解决方案,附案例。 文章目录 【深度学习基础|pip安装】pip 安装深度学习库常见错误及解决方案,附案例。1. 错…...
【ES6复习笔记】解构赋值(2)
介绍 解构赋值是一种非常方便的语法,可以让我们更简洁地从数组和对象中提取值,并且可以应用于很多实际开发场景中。 1. 数组的解构赋值 数组的解构赋值是按照一定模式从数组中提取值,然后对变量进行赋值。下面是一个例子: con…...
Dockerfile的用法
Dockerfile的用法 示例 `Dockerfile`使用 `Dockerfile` 创建 Docker 镜像`Dockerfile` 指令详解其他常用指令总结Dockerfile 是一个文本文件,包含了用于创建 Docker 镜像的一系列指令。这些指令描述了镜像的基础、所安装的软件、文件的复制、环境变量的设置以及其他配置。下面…...
Docker 安装mysql ,redis,nacos
一、Mysql 一、Docker安装Mysql 1、启动Docker 启动:sudo systemctl start dockerservice docker start 停止:systemctl stop docker 重启:systemctl restart docker 2、查询mysql docker search mysql 3、安装mysql 3.1.默认拉取最新版…...
Axure RP 11 详细保姆级安装教程(附安装包)
文章目录 初识:Axure RP 11 安装推荐配置 一、下载安装包 二、安装步骤 1.运行安装程序 2.安装向导,点击【Next】 3.许可协议,勾选【I accept the terms in the License Agreement】,然后点击【Next】 4.确认安装位置&…...
Java处理视频思路
1.首先实现断点续传功能。 断点续传实现思路: 前端对文件分块。前端使用多线程一块一块上传,上传前给服务端发一个消息校验该分块是否上传,如果已上传则不再上传。如果从该断点处断网了,下次上传时,前面的分块已经存在…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
