" TestNG ERROR在类路径中找不到类:filename"尝试从maven项目的命令行运行testng.xml时显示错误

时间:2017-01-03 11:11:09

标签: git maven selenium testng

我试图从命令行运行testng.xml。我的项目是maven项目并映射到git存储库。我使用下面的命令从命令行运行但面对[TestNG] [错误]在类路径中找不到类:" filename"错误 java -cp C:\Softwares\TestngJars\testng-6.9.6.jar;C:\Users\praveen.ps\git\qawebautomationwoohoo\QCMainWoohoo\target\classes;C:\Softwares\TestngJars\jcommander-1.7.jar;C:\Softwares\TestngJars\bsh-1.3.0.jar org.testng.TestNG testing-prav.xml

请帮我解决此问题。

注意:我能够在没有任何问题的情况下从我的日食中运行相同的内容并且能够从jenkins中调用相同的内容

3 个答案:

答案 0 :(得分:0)

问题已解决。我能够通过命令行运行testng.xml。下面是解决问题的步骤

  1. 在Double-Quotes中包含所有jar路径和类路径("")。例如:java -cp" path-to-jars; path-to-classfiles" org.testng.TestNG testng.xml
  2. 添加了selenium jar文件路径,因为命令行需要jar文件来执行脚本。
  3. 需要添加bsh-1.3.0和jcommander-1.7 jar文件。

答案 1 :(得分:0)

对我来说,通过在eclipse中修复项目设置来解决问题 我点击了eclipse给出的class A{ private: int a; public: void abc() { cout << a << endl; } }; class B : public A { }; main() { B obj; obj.abc(); // it works but why? obj.abc is printing a which should not inherit to class B because it is private. 建议,然后开始工作了。

答案 2 :(得分:0)

对于 Mavenised 项目,TestNG xml runner不会生成类文件。它是一个surefire插件,可以从.java文件创建类文件。您需要在项目pom.xml中添加/配置此插件

 </build>
     <plugins>
         <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.17</version>
                <executions>
                    <execution>
                        <id>surefire-it</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>

                    </execution>

                </executions>
                <configuration>
                 <argLine>-Dfile.encoding=UTF-8</argLine>
                     <properties>
                        <property>
                            <name>delegateCommandSystemProperties</name>
                            <value>true</value>
                        </property>
                    </properties>
                    <skip>false</skip>
                    <testFailureIgnore>true</testFailureIgnore>
                    <suiteXmlFiles>
                        <suiteXmlFile>./src/test/resources/testSuites/${testsuite}.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>

            </plugin>
          </plugins>
        </build>

然后,使用此命令运行testNG.xml。

mvn clean integration-test -Dtestsuite=<YourXMLfilename>