本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

HipTest Publisher(hiptest-publisher)是一个工具,用于从CucumberStudio(原HipTest)读取测试管理项目,并将其发布为可执行的测试脚本存根,以便开始自动化测试开发。
适用于测试自动化工程师、QA团队,当需要将CucumberStudio中的测试管理项目转换为具体编程语言的可执行测试脚本时使用,加速自动化测试开发流程。
hiptest-publisher的Docker镜像已自动构建并发布在Docker Hub。
通过以下命令使用Docker镜像调用hiptest-publisher:
docker run -it --rm -u $UID -v $(pwd):/app hiptest/hiptest-publisher <参数>
项目提供了包装脚本 bin/hiptest-publisher-docker,使用步骤如下:
bin/hiptest-publisher-docker 复制到PATH环境变量中的目录(如 ~/bin 或 /usr/local/bin)hiptest-publisherchmod +x hiptest-publisher之后即可像本地安装一样使用 hiptest-publisher 命令。
需要先在机器上安装 Ruby,然后通过gem安装:
gem install hiptest-publisher
注意:Windows用户请参考 Windows安装指南。
hiptest-publisher --token=<您的令牌>
默认生成Ruby测试套件。目前支持以下语言和框架:
可通过命令行指定输出语言和框架,例如:
hiptest-publisher --token=<您的令牌> --language=ruby --framework=minitest
导出时会生成 actionwords_signature.yaml 文件,请将其存储在代码仓库中,用于处理动作词更新。
可通过指定 --test-run-id=<ID> 选项从项目的特定测试运行导出测试套件。测试运行ID可在浏览器地址栏中找到(例如地址 [***] 中的 6941):
hiptest-publisher --token=<您的令牌> --test-run-id=6941
执行以下命令查看所有可用选项:
hiptest-publisher --help
输出示例:
从CucumberStudio导出测试以进行自动化。 特定选项: -t, --token=TOKEN 密钥令牌(在项目设置中获取) -l, --language=LANG 目标语言(默认:ruby) -f, --framework=FRAMEWORK 测试框架 -o, --output-directory=PATH 输出目录(默认:.) --filename-pattern=PATTERN 文件名模式(包含%s) -c, --config-file=PATH 配置文件 --overriden-templates=PATH 自定义模板文件夹 --overriden-language-configs=PATH 自定义语言配置文件夹 --test-run-id=ID 从指定ID的测试运行导出数据 --test-run-name=NAME 从指定名称的测试运行导出数据 --only=CATEGORIES 限制导出到指定文件类别(--only=list可列出所有类别) --without=CATEGORIES 排除指定文件类别(--only=list可列出所有类别) -x, --xml-file=PROJECT_XML 使用本地XML文件而非从CucumberStudio获取 --tests-only (已弃用)--only=tests的别名(默认:false) --actionwords-only (已弃用)--only=actionwords的别名(默认:false) --actionwords-signature 导出动作词签名(默认:false) --show-actionwords-diff 显示自上次更新后的动作词差异(摘要)(默认:false) --show-actionwords-diff-as-json 显示自上次更新后的动作词差异(JSON格式)(默认:false) --show-actionwords-deleted 输出已删除动作词的签名(默认:false) --show-actionwords-created 输出新动作词的代码(默认:false) --show-actionwords-renamed 输出已重命名动作词的签名(默认:false) --show-actionwords-signature-changed 输出签名已更改的动作词(默认:false) --show-actionwords-definition-changed 输出定义已更改的动作词(默认:false) --library-name=LIBRARY_NAME 与show-actionwords-*配合使用:显示指定库的差异 --with-folders 使用文件夹层级结构导出文件到相应目录(默认:false) --empty-folders 导出空文件夹(默认:false) --split-scenarios 将每个场景导出到单独文件(Gherkin类语言除外)(默认:false) --leafless-export 仅使用最底层动作词(默认:false) -s, --site=SITE 获取数据的站点(默认:[***] -p, --push=FILE.TAP 将结果文件推送到服务器 --global-failure-on-missing-reports 当无结果文件可推送时,报告全局失败(默认:false) --push-format=tap 测试结果格式(cucumber-json、junit、nunit、robot、tap)(默认:tap) --execution-environment=NAME 执行环境名称 --sort=[id,order,alpha] 输出中测试的排序方式:id按创建时间,order保持在hiptest中的顺序(仅--with-folders时有效,否则 fallback 到id),alpha按名称(默认:order) --[no-]uids 导出UID(注意:仅Gherkin类导出可禁用,禁用可能导致结果推送问题)(默认:true) --[no-]parent-folder-tags 导出父文件夹的标签(注意:若设为false,这些标签将永不显示。仅Gherkin类导出可用)(默认:true) --parameter-delimiter 参数分隔符(仅Gherkin类导出)(默认:") --with-dataset-names 导出要素文件时包含数据集名称(注意:仅Gherkin类导出可用)(默认:false) --keep-filenames 保留CucumberStudio中的测试文件名(注意:可能导致编码问题)(默认:false) --keep-foldernames 保留CucumberStudio中的文件夹名(注意:可能导致编码问题)(默认:false) --filter-on-scenario-ids=IDS 按场景ID筛选(多个ID用逗号分隔) --filter-on-folder-ids=IDS 按文件夹ID筛选(多个ID用逗号分隔) --filter-on-scenario-name=NAME 按场景名称筛选(仅接受一个名称) --filter-on-folder-name=NAME 按文件夹名称筛选(仅接受一个名称) --filter-on-tags=TAGS 按场景和文件夹标签筛选(多个标签用逗号分隔) --filter-on-status=STATUS 按上次构建的测试状态筛选(需配合测试运行使用) --not-recursive 与filter-on-folder-ids或filter-on-folder-name配合使用:仅导出指定文件夹,不包含子文件夹(默认:false) --check-version 检查是否有hiptest-publisher的新版本(默认:false) --force 强制覆盖现有文件(不适用于测试文件)(默认:false) --[no-]color 强制[不]使用ANSI颜色文本输出 -v, --verbose 详细模式运行(默认:false) -H, --languages-help 显示语言和框架选项 -h, --help 显示此帮助信息
可将配置存储在名为 config 的文件中。复制提供的 config.sample 文件并更新为您的值即可使用。
多项目场景下,可创建多个配置文件,并通过 --config-file 选项选择:
# 使用默认配置文件 hiptest-publisher # 使用导出为minitest的配置文件 hiptest-publisher --config-file=config_minitest
例如,Java项目的配置文件内容可如下:
token = '<您的令牌>' language = 'java' output_directory = '<您的输出目录>' package = 'com.youcompany'
注意:命令行参数会覆盖配置文件中的选项。
若需覆盖现有配置,可使用 --overriden-language-configs 选项指定一个路径,该路径会优先于默认配置文件被检查。若找到对应配置文件,则使用该文件;否则使用指定语言的默认配置。
若需在HTTP代理后使用,设置 http_proxy 环境变量:
http_proxy=http://<代理主机>:<代理端口>
若需要用户名和密码:
http_proxy=http://<用户名>:<密码>@<代理主机>:<代理端口>
使用 --push 选项可将测试结果推送回CucumberStudio。为此,需先在代码生成时通过 --test-run-id=<xxx> 选项(或在配置文件中添加)从测试运行生成测试代码。
测试需生成CucumberStudio支持的测试报告,目前支持以下格式:
推送时可通过 --push-format=[cucumber-json|junit|nunit|robot|tap] 选项指定导出类型(或在配置文件中设置)。
可同时推送多个文件(使用通配符),此时需添加引号:
hiptest-publisher --config-file=<配置文件路径> --push="reports/*.xml"
将显示导入的测试结果数量。调试时,可使用 --verbose 选项单独显示每个导入的测试。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429