2014-04-03 2 views
0

У меня есть ведомый MAC, подключенный к моему мастеру Jenkins через Java WebStart (SSH не работает). У меня есть пользователь-администратор, который называется «qalab», который вошел в m/c (он никогда не спит). Информация о системе узла отображается как заданное изображение.Jenkins - Пользовательское изменение подчиненного

enter image description here

Теперь мне нужно запустить браузер Safari с помощью Selenium. Всякий раз, когда я запустить тест с Safari я получить по указанному ниже за исключением

java.lang.IllegalStateException: Ожидаемый каталог данных Safari не существует:/Users/нуль/Library/Safari

(Chrome и Firefox работает отлично)

Селен ищет Safari в/Users/user.name/Library/Safari

Я попробовал, как это.

System.setProperty ("webdriver.safari.driver", "/ Users/qalab/Library/Safari");

Но все же, похоже, что этот путь не проходит и выходит из строя с превышением исключения.

Есть ли способ исправить это? Также почему он показывает имя пользователя как root. Как изменить его на моего пользователя - «qalab»?

ответ

1

Вы действительно не хотите запускать своего подчиненного как Root (о чем свидетельствует вышеизложенная информация). У рабов Jenkins нет неотъемлемой необходимости иметь повышенные привилегии (мы запускаем наш Master и Slave с учетными записями без администратора), пока ваш домашний каталог Jenkins находится в каком-либо месте, к которому они могут получить доступ. В вашем случае ваш домашний каталог Jenkins выше, как представляется, /, что, вероятно, не то, что вы хотите сделать, так как вы столкнетесь с проблемами разрешения, если вы не root.

Любой каталог под дом вашей qalab пользователя должен работать, а если какой-либо другой каталог, который вы создаете, пока qalab пользователь имеет привилегии для чтения/записи/выполнения на нем (мы склонны использовать каталог /Development/Jenkins, но это уже историческое предпочтение для нас).

От одного из наших рабов:

user.dir /Development/Jenkins 
user.home /Users/buildbot 
user.name buildbot 

Наш мастер имеет аналогичную конфигурацию, и оба работают хорошо для нас.

+0

Сэр, я понимаю. однако, я не знаю, где изменить user.home !! Мой узел настроен как Remote FS Root =/Users/qalab/jenkins – vins

+0

Проблема в том, что вы используете Jenkins как Root. Если вы запустите его как 'qalab', вы будете намного счастливее. Вы не хотите изменять user.home для root, что может быть катастрофическим. Замечания о домашнем каталоге Jenkins были о user.dir, который также не рекомендуется. Это можно изменить, установив JENKINS_HOME в вашу среду перед запуском подчиненного устройства. Однако не забудьте запустить его как пользователя 'qalab'. – gaige

Смежные вопросы