
qaf 3.2.0 仅支持 selenium 4.3.x 及以下版本,而 selenium 4.11.0 需搭配 qaf 4.0.0-rc1 使用;升级不匹配将导致 webdriver 初始化失败、websocket 连接被拒(http 403)及页面空白等典型故障。
qaf 3.2.0 仅支持 selenium 4.3.x 及以下版本,而 selenium 4.11.0 需搭配 qaf 4.0.0-rc1 使用;升级不匹配将导致 webdriver 初始化失败、websocket 连接被拒(http 403)及页面空白等典型故障。
在自动化测试实践中,QAF(Qmetry Automation Framework)与 Selenium 的版本协同至关重要。如您所遇——使用 QAF 3.2.0 时升级至 Selenium 4.0.0/4.1.2/4.11.0 后,Chrome 浏览器成功启动却始终显示空白页,且日志反复报出 Invalid Status code=403 text=Forbidden 与 Unable to establish websocket connection 错误——这并非环境或代码缺陷,而是明确的版本兼容性冲突。
根本原因在于:
✅ QAF 3.2.0 官方兼容范围为 Selenium 3.6.0 至 4.3.x(含 4.3.0,不含 4.4.0+);
❌ Selenium 4.11.0 属于较新大版本迭代,其底层通信协议(尤其是 DevTools WebSocket 连接机制)、会话管理及 W3C Dialect 实现已发生变更,而 QAF 3.2.0 的驱动封装层未适配这些变更,导致 ChromeDriver 启动后无法通过 WebSocket 与浏览器建立安全会话,最终触发 HTTP 403 禁止响应。
✅ 正确解决方案(二选一)
方案一:降级 Selenium(推荐短期验证)
将 pom.xml 中的 Selenium 版本锁定在兼容范围内,例如:
<properties>
<qaf.version>3.2.0</qaf.version>
<selenium.version>4.3.0</selenium.version> <!-- ✅ 兼容上限 -->
</properties>⚠️ 注意:勿使用
4.4.0或更高版本——即使仅微幅升级,也会触发相同 403 错误。
方案二:升级 QAF(推荐长期演进)
升级至 QAF 4.0.0-RC1 或更高正式版(如 4.0.0+),该版本已全面适配 Selenium 4.0.0–4.11.0+,并重构了 WebDriver 生命周期管理与 DevTools 通信逻辑:
<properties>
<qaf.version>4.0.0</qaf.version>
<selenium.version>4.11.0</selenium.version> <!-- ✅ 完全支持 -->
</properties>同时建议同步检查依赖树,排除残留旧版 Selenium 冲突:
mvn dependency:tree | grep selenium
? 补充关键配置建议
- 在
application.properties或测试配置中,显式设置重试超时,避免因初始化瞬时失败直接中断:driver.init.retry.timeout=15
- 若使用 ChromeDriver,确保其版本与 Chrome 浏览器主版本匹配(参考 ChromeDriver 下载页);
- macOS 用户需确认 Chrome 已授权“辅助功能”权限(系统设置 → 隐私与安全性 → 辅助功能),否则部分 WebDriver 操作可能静默失败。
✅ 总结
版本兼容不是“越高越好”,而是“精准匹配”。QAF 3.2.0 + Selenium 4.11.0 是典型不兼容组合,错误日志中的 403 Forbidden 和 websocket connection 失败是强信号。请严格依据官方兼容矩阵选型:
? 稳定维护项目 → 选用 QAF 3.2.0 + Selenium 4.3.0;
? 新建/升级项目 → 直接采用 QAF 4.0.0+ + Selenium 4.11.0,享受更健壮的 W3C 协议支持与现代 DevTools 集成能力。

















