при создании задания с использованием get-wmiobject назначает это задание переменной, то эту переменную можно передать в get-job для статуса или получения-задания для результатов
$ThisJob = start-job -scriptblock {param ($Target) Get-WmiObject -Class Win32_Service -ComputerName $Target -AsJob} -ArgumentList $server
$Timer = [System.Diagnostics.Stopwatch]::StartNew()
While ($ThisJob | Get-Job | where {$_.State -imatch "Running"}){
If ($Timer.Elapsed.Seconds -ge 5) {
echo "five seconds has passed, removing"
$ThisJob | Get-Job | Remove-Job -Force
} # end if
echo "still running"
Start-Sleep -Seconds 3
} # end while
$Results = $ThisJob | where {$_.State -inotmatch "failed"} | receive-job
$Timer.Stop | out-null
Я запускаю Protractor и столкнулся с той же проблемой.
Решение в моем случае было довольно простым.
$ npm update protractor -g
$ webdriver-manager update
В моем случае команда, я нахожусь в точках селена, в конкретный файл хромированной решетки, который у нас был. Чтобы заставить Selenium использовать обновленный хромированный реверс, я сначала установил его с помощью варева, а затем создал символическую ссылку для точки, где Selenium ищет ее:
brew install chromedriver
ln -s /usr/local/Cellar/chromedriver/2.36/bin/chromedriver /path/where/selenium/expects/chromedriver
Ошибка говорит все:
System.InvalidOperationException : unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.146)
(Driver info: chromedriver=2.33.506120
Ошибка явно жалуется на InvalidOperationException
. Основная проблема - совместимость версий между используемыми вами двоичными файлами следующим образом:
Поддерживает Chrome v60-62
- Вы используете chrome = 65.0
- Release Заметки ChromeDriver v2.37 ясно упоминают следующее:
Поддерживает Chrome v64-66
- Ваша версия Selenium Client нам неизвестна.
Таким образом, существует явное несоответствие между версией ChromeDriver ( v2 .33 ) и версия браузера Chrome ( v65.0 )
Решение
- Обновление Селен до уровней тока Версия 3.11.0 .
- Upgr ade ChromeDriver до Уровень ChromeDriver v2.37 .
- Храните версию Chrome между Chrome v64.x- 66.x . ( в соответствии с примечаниями к выпуску ChromeDriver v2.37 )
- Очистите ваше рабочее пространство Project через вашу IDE g20] и Восстановите ваш проект только с необходимыми зависимостями.
- Используйте инструмент CCleaner , чтобы стереть все операции с ОС до и после выполнения вашего test Suite .
- Если ваша версия Web Browser / Web Client слишком стар, то удалите ее с помощью Revo Uninstaller и установите последнюю версию GA и версию Web Browser / Web Client .
- Выполните свой
@Test
.
Это связано с обновлением версии браузера Chrome с 64.xx до 65.xx
Теперь у вас есть 2 варианта для успешного выполнения ваших тестов.
Вариант 2 лучше.
После обновления браузера Google Chrome до версии 65.0.3325.146 (официальная сборка) (64-разрядная версия) , я также столкнулся с той же ошибкой при отправке значений в поле ввода, вот сообщение об ошибке ...
selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'
с использованием Chromedriver 2.32 и Google Chrome 65.0
Как я и сделал некоторые исследования по этому же вопросу, я нашел недавнее зафиксировать в Google chrome v65, которые помогают мне решить проблему.
Решение:
export PATH = $ PATH: / usr / local / bin
- Для тестирования установки перезапустите терминал и введите эту команду
chromedriver --version
, это будет покажите версию хромированного ребра, которую вы только что установили.
Примечание. Если хромированная решетка уже установлена и настроена, просто замените существующий файл драйвера и если вы не знаете, где уже хранятся двоичные файлы Chromedriver, попробуйте найти файл, используя следующую команду
sudo find -H / -type f -iname chromedriver
На случай, что это может быть полезно кому-то, мне нужен дополнительный шаг:
Я нахожусь на MacOS X. Я сделал
brew upgrade chromedriver
bundle exec chromedriver-upgrade
У меня есть хром-хелпер-жемчуг установленный, но он спрятан и требует префикса «bundle exec» или оболочка не может найти команду.
Вышеупомянутая проблема с исправлением.
Если вы используете плагин gulp-protractor
, обязательно обновите его.
У меня такая же ошибка, пожалуйста, загрузите последнюю версию ChromeDriver, и она будет работать нормально:)
https://chromedriver.storage.googleapis.com/index.html ? путь = 2,36 /
chromedriver-update 2.36
– Bachet
12 March 2018 в 23:54
brew upgrade chromedriver
– Diego Carrion
15 March 2018 в 05:35
Я запускаю Protractor (webdriver-manager) с Selenium в среде Windows, и мне пришлось сделать следующее:
webdriver-manager update --versions.chrome="2.36"
(Это скачало новый Chromedriver вправо путь, но не включил его в транспортир.) %userprofile%\AppData\Roaming\npm\node_modules\protractor\config.json
и изменили значение chromedriver
с 2.32
на 2.36
. chromedriver_2.32.exe
из %userprofile%\AppData\Roaming\npm\node_modules\protractor\selenium
для хорошей меры (не уверен, что это было необходимо.) Или:
Когда появилось другое обновление Chromedriver, я больше не мог обновите этот путь. Настройки конфигурации по-прежнему ожидали старого пути и имени файла, и я не мог понять, где изменить этот параметр. Поэтому я просто переименовал последний хромированный рекордер в «chromedriver.exe» и застрял в C: \ Windows \ system32 (на который всегда ссылается PATH). Сырой, но эффективный.
Как упоминалось другими, последний хромированный редуктор сделал для меня трюк. Если вы скачали драйвер вручную и хотите сообщить appium, чтобы использовать новый хромированный рекордер, вы можете сделать это с помощью этой команды:
appium --chromedriver-executable /path/to/driver/chromedriver ....
Необходимо обновить хромированный рекордер: в консоли выполните: chromedriver-update 2.36
Если вы находитесь на последнем стабильном Google Chrome (например, 67), я рекомендую:
brew uninstall chromedriver
brew tap homebrew/cask
brew cask install chromedriver
. Эти команды будут удалять текущий хромированный реверс, проверять наличие обновлений и устанавливать последние найденные (например, 2.40).
Если вы находитесь на Mac:
brew upgrade selenium-server-standalone
brew upgrade chromedriver
, если указанные выше два не установлены:
brew install selenium-server-standalone
brew install chromedriver
Замените ChromeDriver.exe последней версией: 2.37. То же самое можно легко загрузить с Google.
gulp-protractor
, обязательно обновите его. – Ilya Vinogradov 18 July 2018 в 21:28