【问题标题】:Will XmlSuite.SetFileName(XXX) create a physical file?XmlSuite.SetFileName(XXX) 会创建物理文件吗?
【发布时间】:2018-05-17 21:34:57
【问题描述】:

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

谁能帮我完成这个?

【问题讨论】:

    标签: java selenium automation webdriver testng


    【解决方案1】:

    要创建物理 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();
    }
    

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多