
QAF 4.0.0RC1 与 Selenium 4 集成时,chrome.additional.capabilities 等配置项无法生效,根本原因是已知的兼容性 Bug(#444),该问题已在快照版本中修复。
qaf 4.0.0rc1 与 selenium 4 集成时,`chrome.additional.capabilities` 等配置项无法生效,根本原因是已知的兼容性 bug(#444),该问题已在快照版本中修复。
在升级至 QAF 4.0.0RC1 并搭配 Selenium 4 使用后,许多用户发现传统方式设置 Chrome 启动参数(如 --headless=new、--window-size)不再起作用。无论尝试以下任一配置形式:
chrome.additional.capabilities={"chromeOptions":{"args":["--headless=new","--window-size=3000,1080"]}}
driver.additional.capabilities={"chromeOptions":{"args":["--headless=new","--window-size=1920,1080"]}}
chrome.additional.capabilities={"goog:chromeOptions":{"args":["--headless=new","--window-size=3000,1080"]}}
driver.additional.capabilities={"goog:chromeOptions":{"args":["--headless=new","--window-size=1920,1080"]}}
均无法正确传递至 ChromeDriver —— 这并非配置语法错误,而是源于 QAF 4.0.0RC1 中一个已确认的底层兼容性缺陷(GitHub Issue #444)。该 Bug 导致 QAF 在 Selenium 4 的 W3C WebDriver 协议模式下,未能正确序列化并注入 goog:chromeOptions 等标准能力字段。
✅ 临时解决方案:
使用已修复的快照版本替代 RC1:
- 在构建工具(如 Maven)中替换依赖为最新 SNAPSHOT 版本:
<dependency><groupid>com.qmetry</groupid><artifactid>qaf</artifactid><version>4.0.0-SNAPSHOT</version></dependency>
- 从 Sonatype Snapshot 仓库 下载 JAR,或确保仓库配置包含:
<repository><id>sonatype-snapshots</id><url>https://oss.sonatype.org/content/repositories/snapshots/</url><releases><enabled>false</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>
✅ 推荐的稳定配置方式(Selenium 4+ QAF ≥4.0.0):
优先使用标准化的 goog:chromeOptions(Selenium 4 官方推荐),并确保键名与 QAF 解析逻辑匹配:
driver.name=chromeDriver
chrome.additional.capabilities={"goog:chromeOptions":{"args":["--headless=new","--no-sandbox","--disable-dev-shm-usage"],"extensions":[],"prefs":{"download.default_directory":"/tmp"}}}
⚠️ 注意事项:
- 避免混用
chromeOptions(旧版键名)与goog:chromeOptions(W3C 标准键名);Selenium 4 仅识别后者。 - QAF 4.0.0 正式版已内置该修复,若无法使用 SNAPSHOT,请等待正式发布;不建议降级回 QAF 3.x(将失去 Selenium 4 原生支持及后续特性)。
- 验证是否生效:启动后检查日志中是否包含
Capabilities {goog:chromeOptions={...}}及浏览器窗口尺寸/无头状态是否符合预期。
总结:此问题属于版本过渡期的已知兼容性缺陷,非用户配置失误。采用 4.0.0-SNAPSHOT 或等待正式版即可彻底解决,同时建议全面迁移到 goog:chromeOptions 标准语法,以保障长期兼容性与可维护性。











