Как обновить динамически созданный XML-файл в том же сеансе, а не после - PullRequest
0 голосов
/ 28 октября 2018

Я столкнулся с проблемой, когда я могу динамически создать XML-файл TestNG на основе необходимого количества созданных мобильных устройств. Однако я попадаю в ловушку, где при желании файл Dynamic Xml настраивается во время установки Before Suite, файл xml не обновляется до тех пор, пока не закончится сеанс / текущая среда выполнения. Я хотел бы, чтобы он обновлял скомпилированную текущую настройку синхронно с тем же сеансом, а не запускал мои тесты сначала с ошибками для обновления моего файла, а затем снова запускал его, чтобы получить то, что я желаю.

Редактировать: я пытался закрыть FileOutStream в StreamResult после преобразования файла, но я все еще получаю новые результаты 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");
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...