当前位置: 首页 > news >正文

SHAFT:把 Java 测试自动化的脏活全包了

文章目录

  • SHAFT:把 Java 测试自动化的脏活全包了
    • 1、 这玩意儿是干嘛的
    • 2、 为什么要用它
    • 3、 它能干哪些活
    • 4、 SHAFT 怎么用
    • 5、 适合哪些人用

SHAFT:把 Java 测试自动化的脏活全包了

SHAFT_ENGINE 在 GitHub 上拿到 394 Star。

它是一个 Maven 发布的 Java 自动化测试框架,把 Web、Mobile、API、CLI、Database 这些测试场景里重复的基建活儿拢到一处:驱动管理、同步、断言、配置、测试数据、报告、证据,全在一个框架里搞定。

1、 这玩意儿是干嘛的

就一件事:让 Java 团队不用再自己搭测试基建。

写自动化测试真正折磨人的不是写用例,是周边那一堆事。装驱动、等元素、截图、出报告、管配置、跑 CI、对接云平台、留证据,每种活儿都得配一套代码。项目大了,这套东西散在各处,维护起来很痛。

SHAFT 把这层全部封装好,对外暴露一致的 API。Web 测试、Mobile 测试、API 调用、CLI 执行、Database 校验,都走同一套写法。本地能跑,Grid 能跑,云平台能跑,CI 也能跑。

2、 为什么要用它

做过 Java 测试的人都经历过的痛:Selenium WebDriver 自己只管驱动,等待得自己写,断言得自己挑库,截图得自己封,报告得引 Allure,配置得自己读 yaml,Excel 数据源得自己解析,移动端又得另起一套 Appium 代码。

换一个项目,这些活儿再重做一遍。换一个公司,又重做一遍。

SHAFT 把这些公共能力做成了标配。一次配置,多端复用。Web 用例和 Mobile 用例写起来几乎一样,API 测试也共用同一套断言和报告。Allure 报告开箱即用,执行日志、截图、附件、可访问性产物都自动生成。

3、 它能干哪些活

领域内置能力
UI 自动化浏览器和移动端驱动管理、同步动作、截图、日志
服务测试REST 和 GraphQL API 工作流,请求、响应、断言全覆盖
系统覆盖CLI 和 Database 动作,覆盖浏览器之外的端到端校验
测试设计断言、校验、测试数据处理、配置覆写
报告Allure 就绪,附件、执行日志、可访问性产物
扩展云执行、录制、诊断、自愈、MCP、AI、视频、视觉校验

Web、Mobile、API 这几块是基础盘。CLI 和 Database 让端到端链路也能纳入自动化校验,不用再单独搭一套。

扩展模块有几个值得点出来。BrowserStack 模块直接对接云执行,Capture 录视频,Doctor 做诊断,Heal 做自愈。MCP 模块接 Agentic 工作流,AI 模块接大模型,视觉测试模块做 UI 像素级比对。需要哪个引哪个,不强绑。

4、 SHAFT 怎么用

它本身是 Maven 工件,坐标在 Maven Central 上。pom.xml 里引依赖:

<dependency><groupId>io.github.shafthq</groupId><artifactId>shaft-engine</artifactId><version>最新版本</version></dependency>

测试框架这边支持 TestNG、JUnit、Cucumber 三家,不挑。配好就能写用例,Web 端走封装好的浏览器驱动,API 端走 REST/GraphQL 客户端,断言用内置的 Assertions、Validations。

执行层面本地跑、Selenium Grid 跑、BrowserStack 跑、CI 里跑,全靠配置文件切换,代码不动。报告自动落到 Allure,附件自动挂,跑完开会看就行。

5、 适合哪些人用

  • Java 团队,受够了每个项目都从零搭测试基建的人
  • 在搞全链路自动化、想让 Web、Mobile、API 共用一套断言和报告的测试负责人
  • 接 AI 工作流的团队,想让 Agent 直接参与测试诊断、自愈、生成用例的人

官方文档在 shafthq.github.io/docs,安装、升级、各端测试、Agentic 工作流都写得比较细。MIT 协议,源码、贡献指南都在仓里。

.github.io/docs,安装、升级、各端测试、Agentic 工作流都写得比较细。MIT 协议,源码、贡献指南都在仓里。

http://www.jsqmd.com/news/1166650/

相关文章:

  • 2026筑宅安|宣城飘窗漏水专业修缮,家装商用渗漏工程一站式根治窗边渗水发霉难题 - 筑宅安
  • 2026 淮安代理记账财税机构选择避坑指南,四大维度拆解 - 山沟沟的小娃娃
  • 深入解析 QQrobot 开源自动化机器人项目:从环境搭建到插件开发的完整实战指南与架构剖析
  • vLLM 与 SGLang:大模型推理框架性能横评与深度解析
  • 如何用纯前端技术突破Word文档生成瓶颈?3大实战策略揭秘
  • Vue 3 + Spring Security 6 权限管理实战:5步实现动态路由与按钮级控制
  • Unity Content Size Fitter 2022.3 LTS 实战:解决 TextMeshPro 气泡框不扩展的 3 个关键步骤
  • 2026北京交通事故维权选型指南——按5类场景匹配律师全解析 - GrowUME
  • Aspect Ratio设置必知的5个隐藏规则,92%用户因忽略第3条导致生成失败!
  • SAP CO_XT_COMPONENT_ADD 函数深度解析:3个关键参数与2个常见报错处理
  • 窗口尺寸困境终结者:三招让顽固窗口乖乖听话
  • 百达翡丽中 国官方售后服务网点|官方网站权威认证(2026年7月最新) - 百达翡丽售后服务官网
  • OpenBMC接口本质:D-Bus+systemd+Redfish三层协同架构解析
  • Supabase实时订阅在Cursor中静默失败?紧急修复指南:定位pg_notify监听器阻塞、WebSocket心跳超时与Client-Side Cache污染根源
  • 成都探店|易奢福30年奢品回收老店,透明无套路当场回款 - ys韩
  • 十堰市整装行业深度盘点:主流装企客观对比 + 家装选购避坑全攻略 - 国麟测评
  • Modbus RTU vs ASCII:2种帧格式在RS485上的传输效率与误码率实测对比
  • UOM平台 2024版 轻型无人机理论考试:50题核心考点与3类易错点解析
  • Unity纹理导入设置优化:Android/iOS包体与内存性能提升实战
  • Grok Imagine可解释AI技术解析:从原理到工程实践
  • Poppins字体:如何为多语言项目选择理想的几何无衬线字体?
  • 2026安徽省中考预估:考多少分能上合肥理工学校?内附往年录取线参考! - 最新资讯
  • UE4 Shipping模式开启日志:从编译配置到运行时控制的完整指南
  • HaloITSM 2026R2 核心功能拆解:自定义 AI 指令集、RBAC 细粒度管控与自动化审批流配置
  • 2026年7月最新帝舵天津国金购物中心维修保养服务电话 - 帝舵中国官方服务中心
  • 淄博黄金贵金属回收六家靠谱店铺推荐 - 清奢黄金上门回收
  • ABLPACK是什么?上海爱焙乐铝箔包装有限公司的产品体系和应用场景说明
  • 突破性工业安全AI监测解决方案:如何实现88.5%高精度安全帽佩戴检测
  • Kubernetes Etcd集群运维完全手册:备份恢复、性能调优与灾难恢复方案设计
  • 2026微信投票小程序排行榜:海投票免费投票小程序凭零广告+强防刷登顶推荐 - 微信投票小程序