WebDriver JS принудительно использует локальный ‘selenium-webdriver’

#node.js #selenium #selenium-webdriver #npm

#node.js #селен #selenium-webdriver #npm

Вопрос:

Ранее я устанавливал selenium с помощью npm install -g selenium-webdriver, поэтому во всех моих проектах использовались глобальные модули узлов (настроенные на mac os). Это сработало! Затем я экспериментировал с различными фреймворками автоматизации тестирования JavaScript. Теперь я хочу начать все сначала, однако, когда я выполняю те же шаги, что и раньше, чтобы установить selenium для автоматизации WebDriverJS, это не работает.

# Шаги, которые я предпринял:#

  1. Запустите инициализацию npm (я не менял никаких значений в package.json)
  2. Запустите sudo npm install -g selenium-webdriver
  3. Запустите sudo npm install -g chromedriver
  4. Запустите sudo npm install -g geckodriver
  5. Убедитесь, что все модули были успешно созданы в /usr/local/lib/node_modules
  6. Убедитесь, что используются глобальные модули, запустив следующий простой скрипт:

 var webdriver = require('selenium-webdriver'),
    //By = webdriver.By,
    //until = webdriver.until;
var driver = new webdriver.Builder().forBrowser('chrome').build();

driver.get('https://www.google.com/');  

#Результат#

 Error: Cannot find module 'selenium-webdriver'
  

Хотя я понимаю, о чем сообщается ошибка (запустите npm install selenium-webdriver для размещения модулей узлов с драйверами внутри проекта), я намерен использовать selenium-webdriver (плюс chromedriver, geckodriver) глобально для большего количества проектов.

Как я могу добиться этого и заставить проект использовать selenium глобально, а не локально?

Спасибо.

Ответ №1:

Попробуйте очистить node_modules папку и запустить npm install .