如何在同一会话中而非之后

时间:2018-10-27 21:28:40

标签: java xml file testng fileoutputstream

我遇到了一个问题,即我能够根据所需的移动设备创建数量来动态创建TestNG xml文件。但是,我遇到了一个麻烦,如果需要,可以在安装Suite之前设置Dynamic Xml File,直到会话/当前运行时结束后xml文件才会更新。我想让它更新以与同一会话同步的方式编译当前设置,而不是先运行测试以失败来更新文件,然后再次运行它以获取所需的文件。

编辑:转换文件后,我试图在StreamResult中关闭FileOutStream,但是在会话完成后,我仍然得到新的XML结果。在同一会话期间,@ Test方法仍会调用旧的xml文件版本。

以下是动态设置完成后创建我的XML文件的方法:

public void createDriverFile() throws TransformerConfigurationException {

    DOMSource source = new DOMSource(doc);
    File newVersionFile = new File("./drivers.xml");
    FileOutputStream streamNewFile = new FileOutputStream(newVersionFile);
    StreamResult result = new StreamResult(streamNewFile);

    try {

        transformer.transform(source, result);
        result.getOutputStream().flush();
        System.out.println("File Updated");



    } catch (TransformerException e) {
        e.printStackTrace();
        System.out.println("Error updating the file");
    } catch (IOException e) {
        e.printStackTrace();
        System.out.println("Unable to close output stream");
    }

}

0 个答案:

没有答案