IE не подключен через Karma Runner с помощью задачи VSTS Gulp - PullRequest
0 голосов
/ 21 сентября 2018

У меня проблема с конвейером сборки, использующим VSTS.

Подробности среды: Сервер агента - Windows Server 2012 R2. Агент VSTS работает в сетевой службе. Для выполнения тестовых случаев на стороне клиента я создал задачу gulp.Karma Runner используется с IE в качестве средства запуска браузера.

Проблема, с которой я здесь сталкиваюсь, связана с IE в качестве браузера в файле karma.conf.Всякий раз, когда это задание глотка запускается с использованием VSTS, бегун кармы не соединяется.Вывод:

[33m20 09 2018 17:32:43.924:WARN [IE 11.0.0 (Windows 8.1.0.0)]: [39mDisconnected (1 times)
2018-09-20T12:02:43.9339866Z IE 11.0.0 (Windows 8.1.0.0) ERROR
2018-09-20T12:02:43.9342689Z   Disconnectedundefined
2018-09-20T12:04:14.1287942Z [33m20 09 2018 17:34:14.125:WARN [IE 11.0.0 (Windows 8.1.0.0)]: [39mDisconnected (2 times)
2018-09-20T12:04:14.1289323Z IE 11.0.0 (Windows 8.1.0.0) ERROR
2018-09-20T12:04:14.1299244Z   Disconnectedundefined
2018-09-20T12:05:43.7605115Z [33m20 09 2018 17:35:43.758:WARN [IE 11.0.0 (Windows 8.1.0.0)]: [39mDisconnected (3 times)
2018-09-20T12:05:43.7635052Z IE 11.0.0 (Windows 8.1.0.0) ERROR
2018-09-20T12:05:43.7641486Z   Disconnectedundefined
2018-09-20T12:07:13.2066049Z [33m20 09 2018 17:37:13.205:WARN [IE 11.0.0 (Windows 8.1.0.0)]: [39mDisconnected (4 times)
2018-09-20T12:07:13.2110144Z IE 11.0.0 (Windows 8.1.0.0) ERROR
2018-09-20T12:07:13.2112337Z   Disconnectedundefined

Эта же задача отлично работает, если в браузере установлен только GoogleChrome.Если для него задано только IE или GoogleChrome и IE, то эта задача не работает.Кроме того, если я запускаю эту задачу вручную через cmd, то она работает нормально.

Есть ли проблемы с учетной записью службы агента VSTS?

1 Ответ

0 голосов
/ 24 сентября 2018

Я думаю, что проблема в том, что IE (и Edge в этом отношении) не может быть запущен под учетной записью службы - они должны запускаться в среде, в которой есть интерактивный сеанс рабочего стола.

ВзломЯ использовал в вопросе , который вы связали с , вход в систему для агента сборки, используя учетную запись агента Team City, а затем вручную запустил IE.Это позволило мне принять тот раздражающий диалог первого запуска, который у него есть, и расположить все необходимые ему файлы в папке профиля пользователя для запуска.Я рискнул бы предположить, что это все еще не поддерживается, поскольку, когда агент Team City запускает процесс IE, он все еще находится в неинтерактивном сеансе.

Подход, который я недавно использовал с Selenium, заключается в следующем:

  1. Сконфигурируйте окно Windows 10 для автоматического входа с учетной записью службы Selenium.
  2. Сценарий автоматического запуска, который немедленно блокирует компьютер и запускает сервер узла Selenium в консольном приложении.
  3. Запустите IE вручную от имени пользователя Selenium (runas /user:selenium-account "C:\Program Files\Internet Explorer\iexplore.exe"), чтобы принять диалоговое окно первого запуска.
  4. Установите все параметры реестра , необходимые для Selenium / IE.

Вы можете установить что-то подобное для работы с VSTS / Кармой.Если у вас есть решение, опубликуйте здесь примечание со своим решением.

Если это поможет вам (и другим), я могу опубликовать свои сценарии в репозитории GitHub.Я планировал опубликовать их в виде пакета Chocolatey, но я еще не дошел до этого.

Надеюсь, это поможет.


Обновление

Из документов Microsoft :

Вы можете запустить своего агента как службу или интерактивный процесс.Независимо от того, запускаете ли вы агент в качестве службы или в интерактивном режиме, вы можете выбрать, какую учетную запись использовать для запуска агента.Обратите внимание, что это отличается от учетных данных, которые вы используете при регистрации агента в Azure Pipelines или TFS.Выбор учетной записи агента зависит исключительно от потребностей задач, выполняемых в заданиях на сборку и развертывание.

Например, для запуска задач, использующих проверку подлинности Windows для доступа к внешней службе, необходимо запустить агент с помощьюучетная запись, которая имеет доступ к этой службе.Однако, если вы запускаете тесты пользовательского интерфейса, такие как Selenium или Coded UI, для которых требуется браузер, браузер запускается в контексте учетной записи агента.

После того, как вы настроили агент, мы рекомендуем вам сначалаПопробуйте в интерактивном режиме, чтобы убедиться, что он работает.Затем для производственного использования мы рекомендуем запустить агент в одном из следующих режимов, чтобы он надежно оставался в рабочем состоянии.Эти режимы также обеспечивают автоматический запуск агента при перезапуске машины.

И

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