Какое идеальное место для установки selenium-webdriver для работы с NodeJS + Selenium + Mocha (On Windows)

Какое идеальное место для установки selenium-webdriver для работы с NodeJS + Selenium + Mocha (в Windows)

Я только начал изучать NodeJS с Selenium. Двигаясь вперед, я буду работать с NodeJS + Selenium + Mocha

  • Установлен node.js:

    C:\Users\AtechM_03>node -v
    v6.11.2
    
  • Установлен npm:

    C:\Users\AtechM_03>npm -v
    3.10.10
    
  • Конфигурировано nodeclipse в соответствии с http://www.nodeclipse.org/updates/, а моя структура проекта выглядит следующим образом:

введите описание изображения здесь

Теперь я не уверен в точном месте установки selenium-webdriver

  1. Установлен selenium-webdriver в местоположении по умолчанию (через командную строку) согласно (http://www.nodeclipse.org/updates/)

    C:\Users\AtechM_03>npm install selenium-webdriver
    C:\Users\AtechM_03
    `-- [email protected]
      +-- [email protected]
      | +-- [email protected]
      | +-- [email protected]
      | +-- [email protected]
      | | `-- [email protected]
      | +-- [email protected]
      | `-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   `-- [email protected]
      +-- [email protected]
      | `-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   | `-- [email protected]
      |   +-- [email protected]
      |   | `-- [email protected]
      |   |   +-- [email protected]
      |   |   `-- [email protected]
      |   +-- [email protected]
      |   `-- [email protected]
      +-- [email protected]
      | `-- [email protected]
      `-- [email protected]
        +-- [email protected]
        `-- [email protected]
          `-- [email protected]
    
    npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\AtechM_03\pack
    age.json'
    npm WARN AtechM_03 No description
    npm WARN AtechM_03 No repository field.
    npm WARN AtechM_03 No README data
    npm WARN AtechM_03 No license field.
    
  2. Установлен selenium-webdriver в текущем каталоге проекта (через командную строку) согласно (https://dzone.com/articles/selenium-nodejs-and-mocha)

    C:\Users\AtechM_03\LearnAutmation\NodeProject>npm install selenium-webdriver
    [email protected] C:\Users\AtechM_03\LearnAutmation\NodeProject
    `-- [email protected]
      +-- [email protected]
      | +-- [email protected]
      | +-- [email protected]
      | +-- [email protected]
      | | `-- [email protected]
      | +-- [email protected]
      | `-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   `-- [email protected]
      +-- [email protected]
      | `-- [email protected]
      |   +-- [email protected]
      |   +-- [email protected]
      |   | `-- [email protected]
      |   +-- [email protected]
      |   | `-- [email protected]
      |   |   +-- [email protected]
      |   |   `-- [email protected]
      |   +-- [email protected]
      |   `-- [email protected]
      +-- [email protected]
      | `-- [email protected]
      `-- [email protected]
        +-- [email protected]
        `-- [email protected]
    
    npm WARN [email protected] No repository field.
    
  3. Написал мою первую программу через NodeJS-Selenium как first_test.js, и она выполняется хорошо.

код:

    var webdriver = require('selenium-webdriver');

    var driver = new webdriver.Builder().
       withCapabilities(webdriver.Capabilities.chrome()).
       build();

    driver.get('http://www.google.com');
    driver.findElement(webdriver.By.name('q')).sendKeys('simple programmer');
    driver.findElement(webdriver.By.name('q')).submit();
    driver.quit();

Исполнение:

    C:\Users\AtechM_03\LearnAutmation\NodeProject\Selenium>node first_test.js
    C:\Users\AtechM_03\LearnAutmation\NodeProject\Selenium>

Мой вопрос:

  • Как узнать, из какого места selenium-webdriver выполняется выполнение тестовой процедуры?
  • Как полностью удалить/удалить дополнительную установку selenium-webdriver?
  • Как я могу создать несколько журналов уровня гранулярного уровня, чтобы узнать, что происходит внутри?

В то время как с привязкой Selenium-Java я добавляю jars на уровне проекта, где по умолчанию с Selenium-Python binding PyDev модуль привязал Python Home к Eclipse по умолчанию.

Любые предложения/указатели будут полезны.

Ответ 1

Как узнать, из какого места selenium-webdriver выполняется выполнение Testcase

Порядок определения местоположения пакета для nodejs, как показано ниже:

  • локальные пакеты проекта, которые в project_folder/ node_modules
  • nodejs глобальные пакеты, которые в NPM_global_package_install_folder/node_modules, вы можете получить, где находится PM_global_package_install_folder, выполнив команду:
    npm config get prefix распечатает путь к папке
  • nodejs встроенный модуль, который находится внутри node.exe

Если ваши локальные пакеты проекта включают этот пакет, nodejs будет использовать его из локальных pacakges, в противном случае использовать, если из глобального пакета, если пакеты gloal не имеют этого пакета, noejs сообщит об ошибке "selenium-webdriver" модуля.

Как полностью удалить/удалить дополнительную установку selenium-webdriver

  • В общем случае, чтобы удалить локальный пакет проекта, выполните npm uninstall selenium-webdriver в папке проекта или npm удалите selenium-webdriver -g, чтобы удалить глобальный пакет.

Как я могу создать несколько журналов уровня гранулярного уровня, чтобы узнать, что происходит внутри

Собственно, сервер селена снабжает подробный журнал каждого вызова API селена, но не уверен, что вы этого хотели.
введите описание изображения здесь

Ответ 2

Для программы nodejs каждый проект nodejs может иметь package.json, который, как pom.xml для java, управляет зависимостью. Чтобы запустить пакет package.json для нового проекта, просто выполните "npm init" в папке проекта в командной строке. затем используйте значение по умолчанию или изменение для каждого вопроса, после чего в папке проекта создается файл package.json(вы можете его изменить в любое время).

При установке зависимости проекта, перейдите в папку проекта, используйте параметр "npm install -S" -S означает добавить этот пакет как depedency в package.json

Зафиксировать pakcage.json с помощью auto script для кода repo, когда другой человек клонирует репо на локальный, ему просто нужно выполнить "npm install" в папке, где package.json внутри. он получит всю зависимость в package.json.

после выполнения npm выполнить выполнить. вы найдете новую папку: node_modules будет находиться в папке проекта, папка node_modules - это место для хранения зависимости проекта. Папка под node_modules, называемая именем пакета, - это путь установки pakcage (напоминание не фиксирует node_modules папку для репликации кодера)

Когда script импортирует пакет/модуль через require (''), он загрузит модуль из этой папки node_modules, затем родительская папка unitl корневой путь, затем nodejs globel package folder, затем nodejs build-in модуль.

Подробнее вы можете найти: https://docs.npmjs.com/