Java 在套件中运行测试用例时在XML testng文件中获取错误

Java 在套件中运行测试用例时在XML testng文件中获取错误,java,maven,selenium,pom.xml,testng.xml,Java,Maven,Selenium,Pom.xml,Testng.xml,我试图在套件中运行testng xml文件。但当我运行文件时 作为testng套件运行,我在控制台中遇到以下错误 org.testng.TestNGException: org.xml.sax.SAXParseException; lineNumber: 37; columnNumber: 9; The content of element type "suite" must match "(groups?,(listeners|packages|test|parameter|method-se

我试图在套件中运行testng xml文件。但当我运行文件时
作为testng套件运行,我在控制台中遇到以下错误

org.testng.TestNGException: org.xml.sax.SAXParseException; lineNumber: 37; columnNumber: 9; The content of element type "suite" must match "(groups?,(listeners|packages|test|parameter|method-selectors|suite-files)*)".
at org.testng.TestNG.parseSuite(TestNG.java:327)
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:348)
at org.testng.TestNG.initializeEverything(TestNG.java:995)
at org.testng.remote.support.RemoteTestNG6_12.initialize(RemoteTestNG6_12.java:22)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:97)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
原因:org.xml.sax.saxpasseeption;行号:37;列数:9;元素类型“套件”的内容必须匹配(组?,(侦听器|包|测试|参数|方法选择器|套件文件)*)”。 位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) 位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) 位于com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396) 请访问com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) 位于com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284) http://www.com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:1994) 位于com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:879) 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scannedelement(XMLDocumentFragmentScannerImpl.java:1783) 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2970) 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) 在com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next上(XMLNSDocumentScannerImpl.java:118) 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) 位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) 位于com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) 位于com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) 位于com.sun.org.apache.xerces.internal.jaxp.saxpasserimpl$jaxpsaxpasser.parse(saxpasserimpl.java:643) 位于com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327) 位于javax.xml.parsers.SAXParser.parse(SAXParser.java:195) 位于org.testng.xml.XMLParser.parse(XMLParser.java:38) 位于org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:16) 位于org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:9) 位于org.testng.xml.Parser.parse(Parser.java:152) 位于org.testng.xml.Parser.parse(Parser.java:233) 位于org.testng.testng.parseSuite(testng.java:295) ... 还有6个

由于我是自动化测试新手,我无法找出问题产生的原因。我检查了所有语法错误,我觉得这是
是正确的。但我无法解决此问题。这是我尝试运行的xml文件,但出现错误

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Merck Production Smoke Test Automation Test Suite">
    <parameter name="appURL" value="https://webqws.sial.com"/>
    <parameter name="browserType" value="chrome"/>   
    <listeners>
    <listener class-name="customListener.TestNGCustomReportListener"> 
    </listener>
    <listener class-name="customListener.Customreporter"/>
    </listeners>
    <!--  --> <test name="Merck Production Suite - Automation Scripts 
    Execution - US">
    <parameter name="countryName" value="United States"/>      
    <classes>
    <class name="testScript.Merck_Web_eCommerce_SmokeTest"/>   
    </classes>    
    </test> -->    
    <test name="Merck Production Suite - Automation Scripts Execution - UK">    
    <parameter name="countryName" value="United Kingdom"/>    
    <classes>    
    <class name="testScript.Merck_Web_eCommerce_SmokeTest"/>    
    </classes>     
    </test>    
    <!-- <test name="Merck Production Suite - Automation Scripts Execution - 
   INDIA">
   <parameter name="countryName" value="India"/>   
   <classes>
   <class name="testScript.Merck_Web_eCommerce_SmokeTest"/>
   </classes>   
   </test>  -->    
   </suite>

-->    
(最可能的)问题原因:

  • xml文件中不匹配的结尾
    -->

    解决方案:删除它

  • (在修复1之后,我仍然有:)“无效DTD”(!),比如

    解决方案:使用https!;)(在
    中)

  • (最可能的)问题原因:

  • xml文件中不匹配的结尾
    -->

    解决方案:删除它

  • (在修复1之后,我仍然有:)“无效DTD”(!),比如

    解决方案:使用https!;)(在
    中)


  • 将您的xml文件添加到问题中欢迎使用!您能验证您的测试xml文件(在eclipse中,…)吗?(当您按字面意思粘贴它时),我对不匹配的结束
    -->
    (在第一次结束
    之后)表示怀疑。好的。让我检查一下谢谢您的回答。我已经在eclipse中验证了XML文件,我得到了类似“文档类型声明包含或指向的标记声明必须格式正确”这样的错误我不知道哪一行我得到这个错误添加您的xml文件到问题欢迎!您能验证您的测试xml文件(在eclipse中,…)吗?(当您按字面意思粘贴它时),我对不匹配的结束
    -->
    (在第一次结束
    之后)表示怀疑。好的。让我检查一下谢谢您的回答。我已经在eclipse中验证了XML文件,我得到了类似“文档类型声明包含或指向的标记声明必须格式正确”这样的错误我还不知道是哪一行出现了这个错误,下面出现了错误“org.testng.testngeexception:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求的targetI的有效认证路径。我得到了一个类似的异常(org.xml.sax.SAXParseException),在我的例子中,“dtb”url与“http”一起使用而不是“https”。只是改变了这一点,它就起作用了。我得到了下面的错误“org.testng.TestNGException:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效认证路径。我得到了一个类似的异常(org.xml.sax.SAXParseException),在我的例子中,“dtb”url与“http”而不是“https”一起使用“.只要改变一下就行了。