我们可以将虚拟创建的XML文件转换为物理文件吗?例如,我正在以编程方式生成testng.xml文件,并同时执行我的测试脚本。

我的期望是,我需要创建一个XML文件,该文件实际上是按照我上面所说的创建的...我使用了下面的代码,但未产生预期的结果。

    TestNG myTestNG = new TestNG();

     XmlSuite mySuite = new XmlSuite();
     mySuite.setName("MySuite");
     mySuite.setParallel(XmlSuite.ParallelMode.METHODS);

     XmlTest myTest = new XmlTest(mySuite);
     myTest.setName("MyTest");

    myTest.setParameters(testngParams);

     List<XmlClass> myClasses = new ArrayList<XmlClass> ();
     myClasses.add(new XmlClass("ThreadSample"));

     myTest.setXmlClasses(myClasses);

     List<XmlTest> myTests = new ArrayList<XmlTest>();
     myTests.add(myTest);

    //add the list of tests to your Suite.
     mySuite.setTests(myTests);

    //Add the suite to the list of suites.
     List<XmlSuite> mySuites = new ArrayList<XmlSuite>();
     mySuites.add(mySuite);

     XmlSuite suite = getXmlSuite();
     mySuites.add(suite);

     myTestNG.setXmlSuites(mySuites);

     **suite.setFileName("user.dir" + System.getProperty("file.separator") + "myVirtual.xml");
     System.out.println("File generated successfully.");**

     myTestNG.setSuiteThreadPoolSize(3);
     myTestNG.setThreadCount(3);

     myTestNG.run();


谁能帮我完成这个任务?

最佳答案

要创建物理的testNG.xml文件,必须在给定位置编写套件对象。

FileWriter writer;
try {
writer = new FileWriter(new File("myVirtual.xml"));
writer.write(mySuites.toXml());
writer.flush();
writer.close();
System.out.println(new File("myVirtual.xml").getAbsolutePath());
} catch (IOException e) {

e.printStackTrace();
}

10-06 08:58
查看更多