как полностью проверить загрузку файла в Селене Java, если этот файл будет увеличиваться с каждым днем - PullRequest
1 голос
/ 05 ноября 2019

Я вижу опцию в интернете, чтобы проверить имя файла и проверить, загружен ли файл, и другой вариант - проверить размер файла, чтобы убедиться, что он загружен полностью, но есть ли другой способ проверить загрузку файла полностью, еслиэтот файл увеличивается с каждым днем. Файл, который я загружаю, занимает более 500 МБ и будет расти день ото дня, так как я могу кодировать в Selen Java, чтобы он проверил файл и убедился, что он загружен на 100%.

Мое требование к автоматизации - запускать скрипт автоматизации и ежедневно загружать файл.

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 06 ноября 2019

Есть фрагмент кода, который я использовал для загрузки файлов. Просто измените filePathFull и увеличьте время ожидания в waitSec(driver, int).

    public WebDriverWait waitSec(WebDriver driver, int sec) {return new WebDriverWait(driver, sec);}

    String filePathFull = stahovani + "exportFeedbacks_" + urlCast1.split("/")[9] + ".csv";

    waitSec(driver, 30).until(new Function<WebDriver, Boolean>() {
        public Boolean apply(WebDriver driver) {
            if(Files.exists(Paths.get(filePathFull))) {
                return true;
            }
            else {
                try {
                    Thread.sleep(1000);
                    } 
                catch (InterruptedException e) {
                }
            } 
        return false;
        }
    });

    File exportFile = new File(filePathFull);
        if (Files.size(Paths.get(filePathFull)) == 0) {
            try {
                waitSec(driver, 120).until(new Function<WebDriver, Boolean>() {
                    public Boolean apply(WebDriver driver) {
                        try {
                            if(Files.size(Paths.get(filePathFull)) > 0) {
                                return true;
                                }
                            else {
                                try {
                                    Thread.sleep(1000);
                                    } 
                                catch (InterruptedException e) {
                                    }
                                }
                            }
                        catch (IOException e) {                         
                        }
                        return false;
                    }
                });
            } 
            catch (TimeoutException e) {
        }
    }

. Всегда есть файл .part, и пока загрузка не будет завершена, оригинальный файл (в моем примере csv) имеет нулевой размер.

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