testcafe E2E тесты зависает в Internet Explorer 11 при запуске на сервере CI (запускается службой Windows) - PullRequest
0 голосов
/ 31 октября 2018

Я использую testcafe для запуска моих тестов E2E. Все работает, когда я запускаю testcafe с помощью командной строки. Когда тесты запускаются агентом сборки (службой Windows), тесты зависают, но только в Internet Explorer (работают chrome и FF). Мне удалось воспроизвести эту проблему на Win10 и WinServer2012. Кажется, проблема возникает только тогда, когда Internet Explorer запускается в так называемом нулевом сеансе (приложение с графическим интерфейсом, запускаемое службой Windows). Я уже пробовал разных пользователей (LOCALSYSTEM и локальную учетную запись с правами администратора), но всегда получаю один и тот же результат - тесты зависают. Все работает, когда я запускаю браузер через login / psexec / runas. Я уже пытался поиграть с настройками безопасности IE, моим брандмауэром и антивирусом. Но проблема все еще сохраняется. Последний вариант, который мне надоел, - использовать VS-отладчик для подключения к браузеру и проверки консоли на наличие ошибок js, но там, где это показано, ошибок нет.

У кого-нибудь были такие проблемы раньше? Я буду признателен за любые советы, как отладить эту проблему - потому что у меня закончились какие-либо идеи ....

Журнал от testcafe:

 UnhandledPromiseRejectionWarning: Error: The IE 11.0.0 / Windows 10.0.0 browser disconnected. This problem may appear when a brwser hangs or is closed, or due to network issues.
    at Timeout.<anonymous> (C:\Users\xxx\source\repos\ClientPortalSmokeTests\node_modules\testcafe\lib\browser\connection\index.js:23:34)
    at ontimeout (timers.js:482:11)
    at tryOnTimeout (timers.js:317:5)
    at Timer.listOnTimeout (timers.js:277:5)
(node:23936) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async funcion without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:23936) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handld will terminate the Node.js process with a non-zero exit code.

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Я столкнулся с подобной проблемой. Мои тесты висят на IE 11.

Я удалил все временные файлы из IE11 (через Свойства обозревателя -> Удалить все временные файлы), и мои тесты снова запустились. Через некоторое время тесты снова начинают зависать.

0 голосов
/ 05 ноября 2018

Я вижу два варианта.

Сначала попробуйте включить параметр «Разрешить службе взаимодействовать с рабочим столом» в свойствах службы на вкладке «Вход в систему».

Если это не помогает, попробуйте запустить свои службы в ненулевом сеансе. Следующая ветка может предоставить более подробную информацию о том, как это сделать:

Создание процесса в ненулевом сеансе из службы в windows-2008-server?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...