我们可以将虚拟创建的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();
}