2014-11-05 3 views
1

Я пытаюсь исправить пару ошибок для SafariDriver/Selenium.Программно установить расширения в Safari 8 OSX 10.10

Вот проблема:

На Safari 7 и сильфона, чтобы установить новый плагин в все, что вам нужно сделать, это поставить расширение в ~/Library/Safari/Extensions. Далее вам нужно активировать плагин, добавив его в ~/Library/Safari/Extensions/Extensions.plist, после чего у Safari будет установлен плагин.

Начиная с 10.10, это уже невозможно. Расположение расширения такое же, но я не уверен, как активировать расширение, так как Extensions.plist больше не существует.

Я понимаю, что есть файл, который управляется паролем «Safari Extensions List» в keychain под логином, но я не знаю, к какому файлу это может относиться.

Если я скомпилирую и устанавливаю расширение вручную, все работает отлично, но автоматическая установка последнего плагина нарушена. (Документация для этого https://code.google.com/p/selenium/wiki/SafariDriverInternals)

+0

Будьте осторожны, вы смешиваете расширение терминов и плагин довольно свободно. Они не то же самое ... – uchuugaka

ответ

2

«Safari Extensions список» пароль не пароль на самом деле, но двоичный PLIST же, как ~/Library/Safari/Extensions/Extensions.plist

Почитайте, изменить его, записать его обратно.

0

Правильно, чтобы пользователь установил расширение, открыв его вручную (дважды щелкните или команду o). Это то, что Apple пытается заставить вас сделать. Apple никогда не хотела, чтобы кто-нибудь возился с plists для других приложений.

Большинство предпочтений в любом случае кэшируются в памяти и потребуют нового сеанса входа в систему, чтобы сдуть их и получить новые копии. plists обновляются при завершении сеанса или соответствующего приложения.

Они никогда не были предназначены для изменения поведения другого приложения. Это риск для безопасности.

В случае Selenium, очевидно, необходимо создать автоматизированную тестовую среду. Настройка хорошего установщика в некоторой степени предопределяет это.

Правильное решение - подать сообщение об ошибке с Apple, сообщив им, какие функции вам нужны в Safari.