繁体   English   中英

在套件中运行测试用例时在 XML testng 文件中出错

[英]Getting Error in XML testng file while running the test case in a suite

我正在尝试在套件中运行 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.SAXParseException; 行号:37; 列数:9; 元素类型“suite”的内容必须匹配“(groups?,(listeners|packages|test|parameter|method-selectors|suite-files)*)”。 在 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) 在 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.scanEndElement(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.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.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(XMLPar ser.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) at org.testng.xml.Parser.parse(Parser.java:233) at 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>

(最有可能)问题原因:

  1. 无与伦比的关闭-->在您的 xml 文件中。

    解决方法:删除。

  2. (修复 1. 后,我仍然有:)“无效 DTD”(!),就像这里.

    解决方案:使用 http s !;) (在<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM