Доброго времени суток!
selenide.version: 4.6
Вопрос касательно скачивания файлов:
Цель - проверить работает ли скачивание определенного файла на страничке.
Я кликаю по элементу, вызывающий скачивание. Жду 5 секунд и следом ищу файл с этим названием(имя мне известно изначально) в папке скачивания “C://Users//Downloads”. После удаляю его.
Работающий код:
@Когда("^Распечатка приходного кассового ордера: скачиваем документ$")
public void checkDownloadDocument() throws FileNotFoundException, IOException{
downloadDocument.click();
Thread.sleep(3000);
Assert.assertTrue(isFileDownloaded(folderDirectory, fileName));
try{
File file = new File(folderDirectory + "//" + fileName);
file.delete();
} catch(Exception e){ Assert.fail("Some Error Occured while deleting file: " + e.toString()); }
}
Предполагаю, что такой путь очень ненадежный, т.к. выгрузка файла может занять более 5 секунд. Можно ли это реализовать с помощью селенидовского метода “download”?
примерно такую реализацию написал, но она выдает ошибку указанную ниже:
@Когда("^Распечатка приходного кассового ордера: скачиваем документ$")
public void checkDownloadDocument() throws FileNotFoundException, IOException {
File file = someSelenideElement.download();//Падает на этой строке
System.out.println("FILE Path: " + file.getPath());
if(file!=null) { file.delete(); //Test Success }
else Assert.fail("Test Failed");
}
Error: "java.io.FileNotFoundException: build\reports\tests\index.php?seq=7&mod=RQKZPTO&action=report&show=RP&id=1002176 (Синтаксическая ошибка в имени файла, имени папки или метке тома)"
Подскажите, пожалуйста.