Я не уверен, правильно ли я понял вопрос, но вы можете проверить, существует ли файл с частичным именем в указанном каталоге.
File dir = new File("DownloadPath");
String partialName = downloaded_report.split("_")[0].concat("_"); //get cancelled and add underscore
FluentWait<WebDriver> wait = new FluentWait<WebDriver>(driver);
wait.pollingEvery(1, TimeUnit.SECONDS);
wait.withTimeout(15, TimeUnit.SECONDS);
wait.until(x -> {
File[] filesInDir = dir.listFiles();
for (File fileInDir : filesInDir) {
if (fileInDir.getName().startsWith(partialName)) {
return true;
}
}
return false;
});
В приведенном выше коде мы перечисляем все файлы в каталоге пути загрузки. Затем выполните итерацию по каждому файлу, получите его имя и проверьте, содержит ли оно требуемое нам частичное имя.
Это может быть проблемой, если у вас есть несколько отчетов в каталоге. Тогда я бы посоветовал очистить DownloadPath
от файлов, которые начинаются с cancelled_
, в некотором виде @Before
hook.