You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse运行TestNG.xml报org.testng.TestNGException如何解决

Eclipse运行TestNG.xml抛出org.testng.TestNGException解决方案

根因说明

堆栈关键报错org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog代表XML解析失败:解析器在文件头部声明区域读到了非法字符。
该问题仅在Eclipse复现、IntelliJ可正常运行、两份内容肉眼看几乎一致的xml一份可运行一份报错,核心原因是IntelliJ内置XML解析器对头部非法字符做了容错处理,而Eclipse TestNG插件调用的JDK原生SAXParser校验规则严格,肉眼不可见的特殊字符也会直接触发解析失败。

解决步骤

  • 移除文件UTF-8 BOM头
    这是该场景最高发诱因:异常的testng.xml被存为带BOM的UTF-8格式,文件开头会追加3个不可见的字节标识。处理方式:用纯文本编辑器打开该xml,另存为无BOM的UTF-8格式覆盖原文件;也可在Eclipse中右键文件选择Properties,将Text file encoding修改为UTF-8,将光标移到文件第一行最起始位置,连续按删除键清除肉眼不可见的字符后保存。
  • 校验XML头部格式
    确保文件第一行第一列位置没有多余空格、空行、特殊控制符,合法的TestNG.xml头部不要在XML声明前加任何内容,参考格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="TestSuite" parallel="false">
    <!-- 测试配置、用例声明 -->
</suite>
  • 清理Eclipse缓存
    右键对应项目选择Refresh刷新文件列表,之后点击顶部菜单栏Project -> Clean,选中异常项目清理编译缓存,避免Eclipse读取到旧的异常文件快照。
  • 修复插件兼容问题
    若以上操作均无效,打开Eclipse Marketplace将TestNG插件升级到最新稳定版,排除旧版本插件自带的XML解析逻辑bug。

内容的提问来源于stack exchange,提问作者cagoscra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 09:36:25