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

Selenium中pom.xml显示叉号,运行TestRunner触发org.testng.TestNGException

问题解决指南

异常信息翻译

org.testng.TestNGException:
无法在类路径中找到类:testrunner.TestRunner
at org.testng.xml.XmlClass.loadClass(XmlClass.java:81)
at org.testng.xml.XmlClass.init(XmlClass.java:73)
at org.testng.xml.XmlClass.(XmlClass.java:59)
at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:559)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.testng.xml.XMLParser.parse(XMLParser.java:39)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:16)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:9)
at org.testng.xml.Parser.parse(Parser.java:172)
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:300)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:103)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:137)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:58)

分步解决步骤

1. 修复pom.xml的叉号问题

pom.xml显示叉号多是语法错误、依赖缺失或配置异常导致:

  • 打开pom.xml,定位红色波浪线位置,修正XML语法问题(比如标签未闭合、依赖坐标拼写错误)
  • 执行Maven命令:mvn clean install -U,强制更新依赖并重新构建项目
  • 在IDE中右键项目 → Maven → Reimport,重新导入Maven配置
  • 检查IDE右下角的依赖下载提示,点击下载缺失的依赖包

2. 解决TestNG找不到类的核心问题

异常本质是TestNG在类路径中找不到指定类,按以下方向排查:

  • 确认类路径与包结构:确保TestRunner类的包名是testrunner,且文件存放在Maven标准测试目录src/test/java/testrunner/TestRunner.java下
  • 检查TestNG XML配置:如果通过XML运行测试,确认配置中<class name="testrunner.TestRunner"/>的类名、包名拼写完全正确(Java大小写敏感)
  • 重新编译测试类:执行mvn compile test-compile,确保测试类被编译到target/test-classes目录
  • 核对IDE运行配置:直接在IDE运行时,确认运行配置的类路径包含target/test-classes,且选中的是正确的TestRunner类
  • 排查依赖冲突:用mvn dependency:tree查看依赖树,确认TestNG版本无冲突,必要时在pom.xml中排除冲突的TestNG依赖

3. 其他辅助修复动作

  • 清理IDE缓存:IntelliJ IDEA执行File → Invalidate Caches... → Invalidate and Restart;Eclipse执行Project → Clean
  • 确认JDK兼容性:TestNG 7.x及以上版本需要JDK 8及以上,确保项目JDK版本符合要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:15:31