2017-12-04 12 views
0

仮想的に作成されたXMLファイルを物理的に変換できますか?たとえば、私はtestng.xmlファイルをプログラムで生成しており、それと一緒にテストスクリプトを実行しています。XmlSuite.SetFileName(XXX)は物理ファイルを作成しますか?

私は上記のように仮想的に作成された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(); 

これを完了するのに手伝ってくれる人はいますか?

答えて

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(); 
} 
+0

サンプルをありがとうございました... –

関連する問題