Сервер 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
Это позволит вам использовать все привязки были сохранены в пользовательском профиле.
-
если вы хотите
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)
-
если вы хотите обратиться к конкретному профилю в своем коде (здесь я использую папку, созданную по умолчанию для профиля с именем "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)
вы можете добавить сертификаты в пользовательский профиль
a) запустить браузер с пользовательским профилем
b) добавить сертификат
c) не забудьте отметить опцию в настройках Firefox / Advanced / CertificatesSelect one automatically
чтобы избежать запроса на принятие сертификата каждый раз при доступе к тестируемой странице
d) перезапустить браузер
e) перейти на страницу, что будет протестировано и принятоUser Identification Request
f) закройте Firefox и наслаждайтесь пользовательским профилем с сертификатами, доступными с selenium server:)