Изменить каталог загрузки с помощью Robot Framework

Я новичок в Automation and Robot Framework (3 дня опыта x)) В настоящее время я могу открыть веб-страницу и нажать кнопку «Загрузить». Когда я это делаю, загрузка запускается в каталоге по умолчанию (очевидно, загрузка ...)

Я хотел бы создать папку на своем рабочем столе и загружать все файлы по умолчанию внутри. Как я могу сделать? Что мне нужно?


person Chanchan    schedule 08.01.2021    source источник
comment
Добро пожаловать в SO. Уточните свой вопрос, чтобы мы могли воспроизвести вашу проблему. Как создать минимальный воспроизводимый пример Спасибо   -  person HedgeHog    schedule 08.01.2021


Ответы (1)


Вы должны перезаписать каталог загрузок по умолчанию для вашего браузера. Это можно сделать, настроив веб-драйвер. Ключевое слово Open Browser в SeleniumLibrary предоставляет отдельные параметры для этой цели как для Firefox ( ff_profile_dir) и в Chrome (options).

Кроме того, вы должны включить автосохранение и другие конфигурации браузера в зависимости от того, какой браузер вы используете.

Обратите внимание, что при работе в Windows переданный путь требует особого внимания:

Обратите внимание, что если строка параметров содержит обратную косую черту, например путь к ОС Windows, обратная косая черта должна быть экранирована как в данных Robot Framework, так и на стороне Python. Это означает, что одиночная обратная косая черта должна быть написана с использованием четырех символов обратной косой черты. Пример, путь Windows: "C:\path\to\profile" должен быть записан как "C:\\\\path\\\to\\\\profile". Другой способ записать обратную косую черту - использовать необработанные строки Python и пример записи: r"C:\\path\\to\\profile".

Вот пример, который загрузит исходный код Robot Framework с GitHub с помощью Firefox и SeleniumLibrary 4.3.0.

*** Settings ***
Library    SeleniumLibrary

*** Test Case ***
Download Robot Framework into predefined folder
    Open Browser    https://github.com/robotframework/robotframework    Firefox   
    ...    ff_profile_dir=set_preference("browser.download.folderList", 2);set_preference("browser.download.dir", r"C:\\Users\\myuser\\Documents\\Robotframework\\SO_material");set_preference("browser.helperApps.neverAsk.saveToDisk", "application/zip")
    
    Click Element    //summary[contains(.,'Code')]
    Click Element    //a[contains(.,'Download ZIP')]
    [Teardown]    Close Browser

Установлены параметры браузера:

  1. # P7 #
    # P8 # # P9 #
  2. browser.download.dir - это путь к настраиваемой папке. Обязательно укажите путь, описанный в документации. В этом примере я использовал необработанную строку Python.

  3. browser.helperApps.neverAsk.saveToDisk равно application/zip, что означает, что любой загруженный zip-архив будет сохранен без запроса места загрузки.

Вы можете найти ссылки на списки аргументов Chrome и Firefox в этом ответе на переполнение стека: Список аргументов / предпочтений Firefox и Chrome.

person Bence Kaulics    schedule 08.01.2021