Тест Selenium Webdriver 100% проходит локально, 100% не проходит на VSTS сервере - PullRequest
0 голосов
/ 08 февраля 2019

в настоящее время на моей 2-й неделе пытаюсь понять, почему определенный тест выполняется идеально локально, но терпит неудачу при запуске агентом VSTS.

Выполнение программы:

  • Выбор строки из таблицы
  • Нажмите кнопку «Подтвердить»
  • Наложение CSS затемняет экран, вращаясь по центру
  • В левом нижнем углу всплывает тостер с сообщением о начале проверки
  • Проходит около 1,5 минут, вращается вертушка
  • Удален оверлей CSS
  • Поднимается тостер внизу слева, успешная проверка

У меня есть скриншоты и отладочный вывод на everystep пути, и ошибка находится на этапе «Ожидание удаления оверлея CSS».Время ожидания истекло, теперь независимо от того, как долго это время ожидания.

Overlay and spinner in progress

На снимке экрана показано, что CSS-оверлей и спиннер продолжают вращаться, даже если процесс проверки завершенуспешно.Это почти как если бы он застрял во времени.

Сценарии и результаты:

  • Запуск из Local Visual Studio - PASS
  • Агент VSTS - FAIL
  • Вручную запустить на VSTS Agent, передавая и передавая точную командную строку как сборку - PASS (Это меня бесит !!)
  • Понижение / обновление Webdriver - без разницы
  • Без головы / полныйрежим - без разницы
  • Использование разных типов ожидания - без разницы
  • Ожидание всплывающих окон тостера вместо CSS - без разницы

Ответы [ 3 ]

0 голосов
/ 12 февраля 2019

Я отвечу на свой вопрос: мы создали нового агента с автоматическим входом.Мы смотрели тестовый прогон и нажимали F12, и там, в консоли, была ошибка.

Он пытался подрезать () имя пользователя, тестовый аккаунт выглядел так, как будто у него было имя пользователя, но я думаю, что это не так.не правда.Таким образом, система при запуске агентом выдает ошибку и не обрабатывает ее.

Обработал ошибку и все прошло гладко.Очень длинный и расстраивающий путь, чтобы добраться сюда!Надеюсь, это поможет кому-то в будущем.

0 голосов
/ 13 февраля 2019

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

0 голосов
/ 08 февраля 2019

Из документации следует отметить одну вещь :

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

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

Если вы используете удаленный рабочий стол для доступа к компьютеру, на котором работает агент с автоматическим входом в систему, простое отключение удаленного рабочего стола приводит к блокировке компьютера илюбые тесты пользовательского интерфейса, которые запускаются на этом агенте, могут не пройтиЧтобы избежать этого, используйте команду tscon на удаленном компьютере для отключения от удаленного рабочего стола.Например:

%windir%\System32\tscon.exe 1 /dest:console

В этом примере число «1» является идентификатором сеанса удаленного рабочего стола.Этот номер может меняться между удаленными сессиями, но его можно просмотреть в диспетчере задач.Или же, чтобы автоматизировать поиск текущего идентификатора сеанса, создайте пакетный файл, содержащий следующий код:

for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (  
    %windir%\System32\tscon.exe %%s /dest:console 
) 

Сохраните пакетный файл и создайте для него ярлык на рабочем столе, затем измените свойства ярлыка на «Запуск от имени администратора».».Запуск пакетного файла из этого ярлыка отключает от удаленного рабочего стола, но сохраняет сеанс пользовательского интерфейса и позволяет запускать тесты пользовательского интерфейса.

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