Предоставление Vagrant box с Chocolatey приводит к тому, что node.exe не может быть найден во время работы webdriver
Я пытаюсь настроить окно Windows 7 Vagrant для запуска тестов.
Я использовал Chocolatey в настройке для установки всех необходимых зависимостей, и все почти готово, но я продолжаю сталкиваться с этой ошибкой при попытке запустить webdriver-manager update
, прямо перед последним шагом, который будет запускать сервер Selenium с webdriver-manager start --detach
:
(...)
==> tests: Running provisioner: webdriver-update (shell)...
tests: Running: provisioners/windows/webdriver-update.bat as C:\tmp\vagrant-shell_05.bat
==> tests: C:\Windows\system32>"C:\Users\IEUser\AppData\Roaming\npm\webdriver-manager" update
==> tests: 'node' is not recognized as an internal or external command,
==> tests: operable program or batch file.
The following WinRM command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
C:\tmp\vagrant-shell_05.bat
Stdout from the command:
Stderr from the command:
Если после завершения инициализации я сделаю удаленное соединение с ВМ, откройте командную строку и запустите webdriver-manager update
а также webdriver-manager start
будет работать успешно, но во время подготовки проблема всегда возникает.
Извините за вопрос с таким большим количеством кода, но я пытаюсь сделать его как можно более полным: Вот Vagrantfile
Я использую для настройки ВМ:
config.vm.define "tests", autostart: false do |tests|
tests.vm.box = 'C:/Users/Bruno Finger/Win7-WinRM.box'
tests.vm.guest = :windows
tests.vm.provision "chocolatey",
type: "shell",
preserve_order: true,
privileged: true,
upload_path: "C:/tmp/vagrant-shell_01.ps1",
path: "provisioners/windows/chocolatey-installer.ps1"
tests.vm.provision "dependencies",
type: "shell",
preserve_order: true,
privileged: true,
upload_path: "C:/tmp/vagrant-shell_02.bat",
path: "provisioners/windows/test-env-dependencies.bat"
tests.vm.provision "firewall-off",
type: "shell",
preserve_order: true,
run: "always",
privileged: true,
upload_path: "C:/tmp/vagrant-shell_03.bat",
path: "provisioners/windows/windows-firewall-off.bat"
tests.vm.provision "protractor-installer",
type: "shell",
preserve_order: true,
privileged: true,
upload_path: "C:/tmp/vagrant-shell_04.bat",
path: "provisioners/windows/protractor-install.bat"
tests.vm.provision "webdriver-update",
type: "shell",
preserve_order: true,
privileged: true,
upload_path: "C:/tmp/vagrant-shell_05.bat",
path: "provisioners/windows/webdriver-update.bat"
tests.vm.provision "webdriver-start",
type: "shell",
preserve_order: true,
privileged: true,
run: "always",
upload_path: "C:/tmp/vagrant-shell_06.bat",
path: "provisioners/windows/webdriver-start.bat"
tests.vm.provision "hosts",
type: "shell",
preserve_order: true,
privileged: true,
upload_path: "C:/tmp/vagrant-shell_07.ps1",
path: "provisioners/windows/hosts.ps1"
tests.vm.communicator = "winrm"
tests.vm.boot_timeout = 600
tests.winrm.username = "IEUser"
tests.winrm.password = "Passw0rd!"
tests.vm.base_mac = "08002799B15F"
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.synced_folder "./tests", "/Users/IEUser/DGuardWeb/tests"
tests.vm.provider :virtualbox do |v|
v.gui = true
v.customize ["modifyvm", :id, "--pae", "on"]
v.customize ["modifyvm", :id, "--memory", 2048]
v.customize ["modifyvm", :id, "--cpuexecutioncap", "90"]
v.customize ["modifyvm", :id, "--audio", "none"]
end
end
Поставщики указали, один за другим:
шоколадный: (скрипт PowerShell)
(iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')))>$null 2>&1
C:\ProgramData\chocolatey\bin\RefreshEnv.cmd
зависимости: (партия)
"C:\ProgramData\chocolatey\bin\choco.exe" install -y googlechrome firefox git nodejs.install javaruntime python ruby 7zip selenium-ie-driver
"C:\ProgramData\chocolatey\bin\RefreshEnv.cmd"
отключение брандмауэра: (Пакетно)
"C:\Windows\System32\netsh.exe" advfirewall set allprofiles state off
транспортир-установщик: (партия)
"C:\Program Files\nodejs\npm" install -g protractor
"C:\ProgramData\chocolatey\bin\RefreshEnv.cmd"
Обновление webdriver: (Пакетно) СБОЙ ЗДЕСЬ
"C:\Users\IEUser\AppData\Roaming\npm\webdriver-manager" update
webdriver-start: (Batch) Никогда не заходил , но предполагается, что сервер Selenium запускается в фоновом режиме
"C:\Users\IEUser\AppData\Roaming\npm\webdriver-manager" start --detach
И, наконец, вот полный вывод терминала, когда я запускаю vagrant up tests
команда: http://pastebin.com/SEfSiG9h