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

以编程方式创建的TestNG XML不执行测试用例

慕阳平
2023-03-14

我创建了一个应该创建和执行testng xml文件的类。

public static void runTestNG_XML() {
    XmlSuite suite = new XmlSuite();
    suite.setName("All_TC");
    XmlTest test = new XmlTest(suite);
    test.setName("All_TC");
    XmlRun xmlRun = new XmlRun();
    xmlRun.onInclude(test.getName());
    List<XmlPackage> packages = new ArrayList<XmlPackage>();
    packages.add(new XmlPackage("testCases.*"));
    test.setXmlPackages(packages);
    List<XmlSuite> suites = new ArrayList<XmlSuite>();
    suites.add(suite);
    TestNG tng = new TestNG();
    tng.setXmlSuites(suites);
    TestListener tla = new TestListener();
    tng.addListener((ITestNGListener) tla);
    tng.run();
}

这将生成下一个XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All_TC">
  <test name="All_TC">
    <packages>
      <package name="testCases.*"/>
    </packages>
  </test> <!-- All_TC -->
</suite> <!-- All_TC -->

执行时不执行测试用例。总测试运行:0,失败:0,跳过:0

如果我将XML作为TestNG套件运行,它就会正常工作。

值得注意的是,当手动运行它时,在控制台中我在执行测试之前:

[TestNG] Running: C:\Xml_Path\testng_auto.xml

但在执行开始前使用上面的类运行时:

[TestNG] Running: Command line suite 

但这可能是因为使用了CMD。

测试:

package testCases;

import org.testng.annotations.Test;

public class Scenario_1 {

    @Test
    public void TestCase_1() {
        System.out.print("test1");
    }

    @Test
    public void TestCase_2() {
        System.out.print("test2");
    }

}

testng版本:6.14.3

谢谢

更新

我添加了详细级别,我得到了以下错误。

[TestNG]没有发现任何测试。没有运行任何东西

我尝试将XmlPackage更改为:

test.src.test.java.testCases.*
src.test.java.testCases.*
test.java.testCases.*
java.testCases.*
test.src.test.java.testCases
src.test.java.testCases
test.java.testCases
java.testCases

什么都没用。项目结构如下:

共有1个答案

闾丘树
2023-03-14

问题出在您的代码中。

我猜Executor.createXML. java是方法runTestNG_XML()所在的位置。

从屏幕截图上看,这个类似乎位于src/main/java中,但它正试图添加的测试类包,即<代码>测试用例(code>testCases)包位于src/test/java中。

您不能拥有驻留在src/main/java中的java代码,请参阅驻留在src/test/java中的java代码。这解释了为什么TestNG找不到您的测试类并且没有任何运行。

要解决此问题,请移动Executor。创建XML。java至src/test/java(或)将包testCases移至src/main/java

 类似资料:
  • 问题内容: 我一直在尝试以编程方式重做我的应用程序上的工作。(不使用情节提要) 除了手动制作导航控制器外,我几乎完成了。 我一直在做一些研究,但找不到任何手动实现此方法的文档。(我开始将应用程序制作为单视图应用程序) 目前,我只有1个ViewController。当然是appDelegate 导航控制器将在应用程序的所有页面中使用。 如果有人可以帮助我,或发送指向一些适当文档的链接以编程方式进行此

  • 问题内容: 我知道我可以使用Java中的 api 以编程方式创建文件,如下所示: 但是是否有任何 API 可以构建树?(例如Dom之类的api) 我需要这样的东西: 和: 提前致谢。 问题答案: 由于XSLT也是XML,因此您可以简单地使用相同的策略: 等等… 但这不是很优雅。您应该改用库或框架,但应该很容易找到一个谷歌浏览器。

  • 我有一个WS,它返回非常基本的产品数据:代码、价格和图像。我需要用这些基本数据以编程方式创建Hybris产品,然后进行同步,以便在店面上看到这些产品。 创建具有这些基本信息的产品的步骤是什么?有OOTB服务吗?

  • 我正尝试使用以下命令以编程方式创建:

  • 问题内容: 如何在“ PHP内”运行测试,而不是使用“ phpunit”命令?例: 还是我必须将测试写入文件,通过system()/ exec()调用phpunit并解析输出?:( 问题答案: 只需使用随附的驱动程序即可。 然后,您需要像SeleniumTestCase一样进行设置: 然后: