当前位置: 首页 > 知识库问答 >
问题:

通过命令行运行TestNG

祁景山
2023-03-14

一些注意事项:
1。我最初使用的TestNG jar来自java项目中的maven repo。下面的所有方法都是用maven testNG jar和新的TestNG6.9.12下载进行测试的。
2。我可以从Eclipse中运行这个文件。只有当我尝试从命令行运行时才有问题。
3。最终目标是通过javafx应用程序按钮触发命令行来运行测试。如果提供的解决方案避免在cmd中键入绝对路径,因为应用程序将在不同的机器上使用,我将非常感激,但只要我能在我的机器上运行它,我将尝试单独解决其余的问题:
4.从我在网上看到的情况来看,在尝试运行testng xml文件时会遇到不同的问题。如果这个堆栈问题是在运行该文件的一系列其他问题之后出现的,请原谅。提前谢谢。

问题:我试图使用命令行运行testNG“test.xml”。
web上有许多指南,但没有一个对我有效。

结果:

Error: Could not find or load main class org.testng.TestNG

我还尝试将[to testNG jar的完整路径]替换为“。”如java-cp“.:c:\users\johndoe\documents\my docs\03_oe\java\workspace\keyworddriventool\javateStnbs\target\test-classs\nbs\testcases”org.testng.testng test.xml所示,并得到了相同的错误。

方法2
来源:
1。https://www.tutorialspoint.com/testng/testng_environment.htm

结果:

Error: Could not find or load main class org.testng.TestNG

方法3
来源:
1。http://stackoverflow.com/questions/28303723/cow-not-find-or-load-main-class-org-testng-testng

结果:
java.lang.noClassDefFoundError:com/beust/jCommander/ParameterException

结果:

[TestNG] [ERROR]
Cannot find class in classpath: NBS.testcases.LoginWithBayanUser

结果:

[TestNG] [ERROR]
Cannot find class in classpath: NBS.testcases.LoginWithBayanUser

概括地说:
我认为最近的尝试是在方法3故障排除后,但仍然无法运行XML。同样的xml在Eclipse中运行。

=====================================================================================================================================================================================================我想我越来越近了,但还是跑不了。

[TestNGClassFinder] Warning: Can't link and determine methods of class NBS.testcases.LoginWithBayanUser
[TestNGClassFinder] Warning: Can't link and determine methods of class NBS.testcases.LoginWithBayanUser2
[[TestNGClassFinder]] Unable to read methods on class NBS.testcases.LoginWithBayanUser - unable to resolve class reference Automation/framework/dataModel/CaseInfo
[[TestNGClassFinder]] Unable to read methods on class NBS.testcases.LoginWithBayanUser2 - unable to resolve class reference Automation/framework/dataModel/CaseInfo
[TestNG] Running:
  C:\Users\johndoe\Documents\My Docs\03_OE\Java\workspace\KeywordDrivenTool\JavaTestNBS\target\test-classes\testngRunner\test.xml


===============================================
Suite1
Total tests run: 0, Failures: 0, Skips: 0
===============================================

下面是我的test.xml文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1" verbose="1" parallel="classes" thread-count="2" preserve-order="true">
    <test name="Regression suite 1" >
        <parameter name="globalXlsDataIndex" value="1"/> 
        <classes>
            <class name="NBS.testcases.LoginWithBayanUser" />
            <class name="NBS.testcases.LoginWithBayanUser2" />
        </classes>
    </test>
</suite>

重申一下,相同的xml文件在Eclipse中运行。

谢了!

=======================================================================================================================================================================================================现在我得到了另一个错误:

[TestNG] [ERROR]
Cannot instantiate class NBS.testcases.LoginWithBayanUser

希望你能帮上忙!谢了!

共有1个答案

方鸿振
2023-03-14

尝试:

java -cp ".;C:\Users\johndoe\Documents\My Docs\03_OE\Java\workspace\Maven\m2\repository\org\testng\testng\6.9.10\testng-6.9.10.jar;C:\Users\johndoe\Documents\My Docs\03_OE\Java\workspace\Maven\m2\repository\com\beust\jcommander\1.48\jcommander-1.48.jar;C:\Users\johndoe\Documents\My Docs\03_OE\Java\workspace\KeywordDrivenTool\JavaTestNBS\target\test-classes" org.testng.TestNG test.xml
 类似资料:
  • 问题内容: 我发现了几个用于通过Java类运行cmd命令的代码段,但我无法理解。 这是打开cmd的代码 我找到了一些其他链接来添加其他命令,例如cd http://www.coderanch.com/t/109753/Linux-UNIX/exec-command-cd-command-java 如何使用Java打开命令提示符并插入命令? 谁能帮助我了解如何CD目录,例如: 然后在该目录上运行其他

  • 我找到了几个通过Java类运行cmd命令的代码片段,但我无法理解。 这是打开命令的代码 我还找到了一些添加其他命令的链接,比如cdhttp://www.coderanch.com/t/109753/Linux-UNIX/exec-command-cd-command-java 如何使用Java打开命令提示符并插入命令? 有人能帮我了解如何cd目录,例如: 然后在该目录上运行其他命令?

  • 我在远程服务器上设置了一个自动日志检查的设置。我创建了类似这样的方法,使用exec命令跟踪日志… 如何运行mysql命令将结果返回到eclipse终端?

  • 我正在尝试使用ProcessBuild运行cmd语句。 但是,我只能打开cmd。exe 那么如何编写此语句通过java运行cmd命令??我得到了错误,因为语句由"*"组成。如何编辑ProcessBuilder以便我可以运行语句?非常感谢

  • 我已经用maven和testNG配置了eclipse,用我的pom配置了PF。xml如下: 我是runnong,在命令提示符下点击这个目录:D:\EclipseWorkspace\iON27Feb2013\iONAutomation\common 我的cmd控制台显示:

  • 问题内容: 在我们的团队中,我们定义了大多数测试用例,如下所示: 一门“框架”课: 还有很多测试用例,例如testMyCase.py: 当我编写新的测试代码并希望经常运行它并节省时间时,我要做的是在所有其他测试之前放置“ __”。但这很麻烦,使我从正在编写的代码中分散了注意力,并且由此产生的提交噪音实在令人讨厌。 因此,例如,当对进行更改时,我希望能够做到这一点: 并运行 只 我该如何实现? 我尝