Указать рандомное имя для файла

Учусь писать автотесты на java. В данном случае я хочу вводить данные в поля регистрации, намеренно ошибаюсь и делаю скриншот ошибки с сайта. Когда я регистрирую 1 человека - все ок. Но сейчас, я использую @DataProvider для регистрации нескольких пользователей. И теперь, каждый раз скриншот перезаписывает старый. Вопрос собственно в том, как сделать имя файла рандомным или привязанным к времени. Для того, чтобы сделать скрин использую такой вариант кода

    TakesScreenshot ts = (TakesScreenshot)driver;
    File scrFile = ts.getScreenshotAs(OutputType.FILE);
    File desFile = new File( "./Screenshot/.png");
    FileUtils.copyFile(scrFile,desFile);

Ответы (1 шт):

Автор решения: Fleckinger
  1. Использовать UUID для генерации случайного имени.
    String filename = UUID.randomUUID().toString();
    File file = new File("./Screenshot/" + filename + ".png");
  1. Проверить существует ли файл с таким именем в директории.
    if (file.exists());
  1. Если файл существует, повторить шаг 1 пока не сгенерируется уникальное имя.

Альтернативный вариант, использовать

Calendar.getInstance().getTimeInMillis();  

по аналогичной схеме с проверкой существования файла.

→ Ссылка