Профиль Firefox не загружен в открытом браузере с Robot Framework SeleniumLibrary 4.0 - PullRequest
1 голос
/ 17 октября 2019

Я создал новый профиль для Firefox для использования с Robot Framework SeleniumLibrary. Однако профиль не загружается с использованием следующего

*** Settings ***
Library    SeleniumLibrary

*** Keywords ***
Just testing
    Open Browser    about:blank    Firefox    ff_profile_dir=C:${/}Users${/}Administrator${/}AppData${/}Roaming${/}Mozilla${/}Firefox${/}Profiles${/}dev

*** Test Cases ***
Just testing

Какой используемый профиль можно увидеть на странице about: Profiles

Тем не менее, при проверке about: profile onбраузер, запущенный webdriver, профиль не помечен как используемый: страница о: профили в браузере, запущенном Webdriver

Есть мысли, почему профиль Firefox не загружается? РЕДАКТИРОВАТЬ: Как я могу точно знать, загружен профиль или нет?

Глядя на журнал geckodriver, каталог выглядит совершенно иначе

mozrunner::runner INFO Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-foreground" "-no-remote" "-profile" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\2\\rust_mozprofile2iM6KC"

ПричинаЯ создал отдельный профиль для обхода аутентификации NTLM с использованием расширения AutoAuth при запуске пакета автоматических тестов.

SeleniumLibrary 4.0.0 Robot Framework 3.1.2 (Python 3.7.4 на win32) Firefox 69.0.3

1 Ответ

0 голосов
/ 17 октября 2019

Я посмотрел на свое пользовательское ключевое слово для настройки профиля Firefox:

from robot.api import logger
from selenium.webdriver import FirefoxProfile

class SeleniumPyExtension:

    @staticmethod
    def setup_firefox_profile(download_dir):
        profile = FirefoxProfile()
        logger.info('Download dir is {}'.format(download_dir))
        profile.set_preference("browser.download.dir", download_dir)
        profile.set_preference("browser.download.folderList", 2)
        profile.set_preference(
            'browser.helperApps.neverAsk.saveToDisk',
            'image/jpeg;'\
            'application/vnd.ms-excel;'\
            'application/octet-stream;'\
            'application/pdf;'\
            'application/ogg;'\
            'audio/mpeg;'
        )
        profile.set_preference("pdfjs.disabled", True)
        profile.update_preferences()
        profile_dir = profile.profile_dir
        logger.info('Profile is located at {}'.format(profile_dir))
        return profile_dir

и проверил, что он создает, и оказалось, что он создает каталог только с user.js с кучей user_pref(...), как описано здесь .

...