Я работаю над приложением AngularJS и хочу, чтобы Protractor работал с ним, чтобы использовать его для автоматического тестирования взаимодействия с пользователем.
Моя среда разработки настроена так, что я выполняю интерфейсную разработку на своем локальном рабочем столе Windows и запускаю grunt на виртуальной машине CentOS 7 для обслуживания внешнего интерфейса приложения.
Я немного использовал системы Unix в прошлом, но в основном только для пары модулей, которые я изучал в университете несколько лет назад, поэтому у меня нет такого большого опыта работы с ними.
Когда я пришел в эту компанию, я начал работать с практиками, которые у них уже были. Ежедневно я использую виртуальную машину Unix просто:
su -
) python3.4 -m myApp start
) grunt serve
из соответствующего места для обслуживания внешнего интерфейса Я следую руководству по адресу: http : //www.protractortest.org / # / tutorial , чтобы попытаться запустить Protractor, чтобы использовать его в качестве среды тестирования в моей среде разработки, и без проблем выполнил первые пару шагов установки:
npm install -g protractor
webdriver-manager update
Когда я затем попробую чтобы запустить следующую команду: webdriver-manager start
, я получаю сообщение об ошибке:
'java' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.
[11:24:04] I / start - Selenium Standalone завершился с кодом 1
Я предполагаю, что это означает, что Java не установлена на виртуальной машине, и она должна быть установлена для запуска команды webdriver-manager start
?
Я загрузил JRE для Linux x64 (файл .rpm) из Oracle и скопировал его на рабочий стол моей виртуальной машины. Теперь я следую инструкциям в Linux Java installation , чтобы установить Java на виртуальную машину, но у меня возникли небольшие проблемы с этим ...
Я выполнил следующие шаги:
, но когда я запускаю эту последнюю команду для установки пакета, консоль показывает сообщение об ошибке:
open of jre-8u144-linux-x64.Ошибка rpm: нет такого файла или каталога
Если я запускаю ls
с терминала, где я вошел в систему как root
, я не вижу ни одного файла на рабочем столе (это мое текущее местоположение), но если я запускаю ls
с другого терминала, где я не вошел в систему как root
, я могу увидеть все файлы на рабочем столе, включая файл jre-8u144-linux-x64.rpm, который я пытаюсь установить ...
Так почему же пользователь root
не может видеть файл .rpm, который я хочу установить, даже если "нормальный" пользователь может ...? Я попытался установить JRE от «обычного» пользователя, выполнив команду в этом терминале, но, очевидно, получил ошибку о том, что у меня нет прав для этого:
ошибка: невозможно создать блокировку транзакции на / var / lib / rpm / .rpm.lock (Permission denied)
Как я могу установить JRE, которая мне нужна, чтобы использовать эту среду тестирования на моей виртуальной машине?
, как я видел в первом абзаце, чтобы стать root, вы вводите su -
, который повторно инициализирует вашу среду при смене пользователя. Таким образом, становясь пользователем root, вы меняете переменную окружения PWD
и, таким образом, изменяете текущий каталог, в котором находитесь, и он становится /root.
Есть два способа решения вашей проблемы
Первый:
используйте su
вместо su -
, вы будете в том же каталоге, что и ваш обычный пользователь. Таким образом, после того, как вы станете пользователем root, вы сможете ввестиrpm -ivh jre-8u144-linux-x64.rpm
Второй:
когда вы находитесь в правильном каталоге со своим обычным пользователем, вы вводите pwd
и где-то отмечаете этот путь. Должно быть что-то вроде /home/user/something Затем вы набираете su -
и затем выполняете rpm -ivh /home/user/something/jre-8u144-linux-x64.rpm
. Это должно сработать.
Оба они должны работать, хотя я бы рекомендовал второй.