t.me/atinfo_chat Telegram группа по автоматизации тестирования

Selenium Allure results directory property

Теги: #<Tag:0x00007f74891b6cc8> #<Tag:0x00007f74891b6c00> #<Tag:0x00007f74891b6b38> #<Tag:0x00007f74891b6a70> #<Tag:0x00007f74891b69a8>

Понадобилось написать свой интерфейс для запуска тестов (чтобы девочкам, тестировщицам было удобнее запускать)

Нарисовал на JavaFX кучу checkbox - и кнопку запуска.
Прикрутил allure.

Пытаюсь после каждого запуска тестов складывать отчёты allure в свою папку (имя папки=дата и время запуска тестов)

В контроллере JavaFX по нажатии на кнопку устанавливается:

dateForReports = DATE_FORMAT.format(date);
System.setProperty("allure.results.directory", "allure-results/" + dateForReports);

testng = new TestNG();
suites.add(.......);
...
testng.setTestSuites(suites);
testng.run();

При первом нажатии на кнопку запуска - всё нормально, все последующие запуски (без выхода из программы) пишут логи allure в первую папку, которая установилась при первом запуске тестов.

Не пойму, где и что надо подчистить, или почему не перезаписывается системная переменная.

Передавайте date с временем, а не только датой.

1 Симпатия

Приветствую.
Не, ошибка не в этом, строка там уникальна.

Время запуска тоже разное ( по минутам)

Date date = calendar.getTime();
DateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy_hh.mm");
dateForReports = DATE_FORMAT.format(date);
System.setProperty("allure.results.directory", "allure-results/" + dateForReports);

А, может, так надо:
Date date = Calendar.getInstance().getTime();
Вы, походу, calendar сохранили и не переполучаете его, вот время и не меняется.

И ещё, если запускается это всё на винде, то слеш нужен - \

Да не, getInstance у меня тоже есть. я просто что то туплю видимо.
Не выкладываю важных вещей.

Строка точно уникальна, я за ней следил.
Да и первый отчёт валится в нужную папку, то есть она создаётся, какая нужно.

Видимо переменная SystemProperty завязалась на каком то объекте в памяти, и так и продолжает висеть, хотя при повторном нажатии на кнопку запуска тестов (при этом набор тестов может быть уже другим) у меня же создаётся

testng = new TestNG();