Сервер Selenium не запускается для пользовательского профиля firefox

Я пытаюсь запустить сервер selenium, передав пользовательский профиль firefox конструктору DefaultSelenium. Он открывает браузер с указанным URL-адресом.

DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*custom "C:/Program Files/Mozilla Firefox/firefox.exe"",ReadConFile.readcoFile("serverName"));
    selenium.start();

журнал

16:39:19.246 INFO - Allocated session 4eb63d37a4ba4d2fb4e351f8f59e3ea6 for https://<myURL>, launching...

тогда он остается таким, и сервер не запускается.

это работает если я не использую пользовательский профиль.
DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*chrome",ReadConFile.readcoFile("serverName"));
selenium.start();

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

Я думаю, что мой сервер не настроен для запуска пользовательского профиля. Пожалуйста, помоги мне с этим.

4 ответов


на старт команда на самом деле не запускает ваш сервер selenium как таковой, она подключает ваш объект selenium к уже сервер с браузер.

чтобы фактически запустить сервер selenium [Jetty Web], который отправляет / получает команды тестируемому приложению через указанный браузер, используйте пакетный файл и переключатель rs79 имеет в виду. Содержимое вашего пакетного файла должно включите его линию:

java -jar selenium-server-standalone-2.0a5.jar -firefoxProfileTemplate C:\custom-firefox-profile

теперь у вас есть настоящий сервер selenium, работающий на вашем компьютере dev (localhost) с портом по умолчанию "4444". Это укажет, что любое тестирование браузера Firefox будет использовать этот профиль.

теперь ваш конструктор DefaultSelenium, назначение и другие вызовы могут выглядеть так:

DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*firefox","http://www.server.com");
selenium.start()
selenium.open("myApp/")

Firefox начнет использовать пользовательский профиль, указанный в пакетном файле, который запускает сервер Selenium, с желаемым базовым URL-адресом, а затем перейдите в нужное приложение [URL]. Если вы начинаете свой тест с "http://www.server.com/ " и не "http://www.server.com/myApp", Вы можете опустить последнее открыть линии.


при вызове сервера Selenium RC укажите путь с помощью дополнительного -firefoxProfileTemplate предложения. Например -

java -jar selenium-server-standalone-2.0a5.jar -firefoxProfileTemplate C:\custom-firefox-profile

Это позволит вам использовать все привязки были сохранены в пользовательском профиле.


  1. если вы хотите Fifefox профиль по умолчанию в тесте:
    a) скачать последнюю selenium-server: http://selenium-release.storage.googleapis.com/index.html
    b) скачать последнюю Firefox
    c) создать FF профиль (лучший в вашем пользовательском каталоге) - в моем случае с именем " atf" https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles
    Каталог по умолчанию, в котором сохраняются профили:

     C:\Users\johndoe\AppData\Roaming\Mozilla\Firefox\Profiles
    

    d) в моем случае я использую FF 36 и selenium-server-standalone-2.45.0.jar
    Запустить selenium server:

    java -jar C:\driver\selenium-server-standalone-2.45.0.jar -Dwebdriver.firefox.profile=atf 
    

    тогда обратитесь к нему в своем коде:

    driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',      
                          desired_capabilities=DesiredCapabilities.FIREFOX)
    
  2. если вы хотите обратиться к конкретному профилю в своем коде (здесь я использую папку, созданную по умолчанию для профиля с именем "myProfile"):

    profile_path = C:/Users/johndoe/AppData/Roaming/Mozilla/Firefox/Profiles/2zvl3dxx.myProfile"
    fp = webdriver.FirefoxProfile(profile_path)
    driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', 
                          desired_capabilities=DesiredCapabilities.FIREFOX,
                          browser_profile=myProfile)
    
  3. вы можете добавить сертификаты в пользовательский профиль
    a) запустить браузер с пользовательским профилем
    b) добавить сертификат
    c) не забудьте отметить опцию в настройках Firefox / Advanced / Certificates
    Select one automatically
    чтобы избежать запроса на принятие сертификата каждый раз при доступе к тестируемой странице
    d) перезапустить браузер
    e) перейти на страницу, что будет протестировано и принято User Identification Request
    f) закройте Firefox и наслаждайтесь пользовательским профилем с сертификатами, доступными с selenium server:)


вы также можете запустить сервер Selenium в java see здесь.