相关疑难解决方法(0)

如何从命令行运行TestNG

我究竟如何从命令行运行.java TestNG项目?

我已经阅读了TestNG文档,并尝试以下内容无济于事:

C:\projectfred> java org.testng.TestNG testng.xml 
Run Code Online (Sandbox Code Playgroud)

...在我的项目中使用以下testng.xml文件:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >  
<suite name="SuiteAll" verbose="1">
    <test name="TestAll">  
        <packages>  
            <package name="com.project.fred.tests"/>
        </packages>  
    </test>  
</suite>
Run Code Online (Sandbox Code Playgroud)

我得到的错误是这样的:

Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNG
Caused by: java.lang.ClassNotFoundException: org.testng.TestNG
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: org.testng.TestNG.  Program will exit.
Run Code Online (Sandbox Code Playgroud)

显然,我没有在命令行中正确引用TestNG.有谁知道如何使这个工作?

java testng command-line command-prompt

26
推荐指数
4
解决办法
10万
查看次数

Mac上的TestNG异常:在类路径中找不到类...!

当我试图运行测试套件时,我在Mac上得到这个例外,我们在这里使用maven项目,今天早上eclipse挂了,我完成了强制退出然后重新启动相同,后来我无法运行测试.我完成了刷新,清理,重新安装testNG,使用新的eclipse实例重新配置了eclipse并导入了maven项目,但后来也得到了相同的异常..相同的maven项目将在另一台Mac上运行,请提示我在这里缺少任何方式.

还提到了以下链接中存在的解决方案: SO链接1 SO链接2

错误控制台:

org.testng.TestNGException: 
Cannot find class in classpath: com.adobe.store.polarBear.polarBearSuite.tests.ReaderAIHTest
    at org.testng.xml.XmlClass.loadClass(XmlClass.java:81)
    at org.testng.xml.XmlClass.init(XmlClass.java:73)
    at org.testng.xml.XmlClass.<init>(XmlClass.java:59)
    at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:539)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:788)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:17)
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:1)
    at org.testng.xml.Parser.parse(Parser.java:172)
    at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:311)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:88)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Run Code Online (Sandbox Code Playgroud)

java testng

5
推荐指数
2
解决办法
1万
查看次数

在TestNG中按顺序执行测试

我有多个测试类,应该按顺序执行.我testng.xml用以下内容创建了文件.

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="MyTestSuite1" verbose="2" parallel="methods" thread-count="1">
    <listeners>
        <listener class-name="utils.TestNGListener"></listener>
    </listeners>

    <test name="Regression" parallel="false" verbose="2">
        <classes>
            <class name="test.LoginTest" />
            <class name="test.ClearTest" />
            <class name="test.SendMessageTest" />
        </classes>
    </test>
</suite>
Run Code Online (Sandbox Code Playgroud)

main()为项目创建了方法来提供入口点.

public static void main(String[] args) throws IOException, SAXException, ParserConfigurationException {
    TestNG testNG = new TestNG();

    String xmlFileName = "testng.xml";
    List<XmlSuite> suite = (List<XmlSuite>)(new Parser(xmlFileName).parse());
    testNG.setXmlSuites(suite);

    testNG.run();
}
Run Code Online (Sandbox Code Playgroud)

我不确定,如何按指定顺序执行测试套件,得到错误信息.

线程"main"中的异常org.testng.TestNGException:在类路径中找不到类:test.LoginTest

输出tree命令:

C:.
????.idea
?   ????libraries
????META-INF
????out
?   ????artifacts
????resources
?   ????leanftjar …
Run Code Online (Sandbox Code Playgroud)

java testing testng automated-tests

3
推荐指数
1
解决办法
864
查看次数