Pr-Mex / vanessa-automation

BDD в 1С
https://pr-mex.github.io/vanessa-automation/dev/
BSD 3-Clause "New" or "Revised" License
484 stars 199 forks source link

Повторное подключение к клиенту после его перезапуска #810

Closed PiskunovSS closed 4 years ago

PiskunovSS commented 4 years ago

Заполните шаблон обсуждения GIT

Функционал:  Повторное подключение к клиенту после его перезапуска 
   Как разработчик
   Я хочу перезапускать клиента во время отладки 
   И одной кнопкой запускать выполнение открытого теста из менеджера

Контекст:
  Дано: 1.2.031
  И 8.3.14.1854
  и собственная конфигурация
  и синхронные вызовы разрешены
  и модальность разрешена
  и режим совместимости "не использовать"
  и режим совместимости интерфейса "8.2. Разрешить такси"
  и пользовательский сеанс запущен в "такси"

Сценарий: Повторное подключение к клиенту его перезапуска 
  Допустим: Я подключаю клиент тестирования
  Когда: завершаю работу клиента тестирования после прогона тестов
  И я повторно запускаю клиента тестирования на том же порту с теми же параметрами
  Тогда: VA запускает нового клиента тестирования на другом порту вместо подключения к текущему

Послений шаг:

 Тогда: VA запускает нового клиента тестирования на другом порту вместо подключения к текущему

является ошибочным. Должно происходить подключения к существующему клиенту для использования в следующем сценарии:

Менеджер тестирования в отдельной базе. В таблице клиентов прописан конкретный порт. Из конфигуратора запускаю клиента в режиме отладки. После этого в менеджере запускаю на выполнение сценарий, отлаживаю. Вношу изменения в код и перезапускаю клиента тестирования опять из конфигуратора по f5. Клиент перезапускается на том же порту. Но в менеджере приходится в таком случае нажимать сначала "Отключить" в таблице клиентов, иначе шаг "Дано Я открыл новый сеанс TestClient или подключил уже существующий" запускает нового клиента тестирования на порту, отличном от того, который я изначально указал.

PiskunovSS commented 4 years ago

Для проверки, что соединение рабочее не придумал ничего лучше, чем вызвать:

ТестовоеПриложение.ПолучитьПодчиненныеОбъекты();

Если клиент отвалился, то принудительно разрываю соединение. Но ниже идет: ТестовоеПриложение.УстановитьСоединение();

Вот я так и не понял для чего. К отвалившемуся клиенту оно не коннектится, а если клиент не отвалился, то зачем заново соединяться? Не стал менять логику, хотя возможно надо. Но т.к. не смог у себя стартовать тесты из ветки develop, оставил этот момент.

Pr-Mex commented 4 years ago

@PiskunovSS Расскажи подробнее, какие проблемы возникли при запуске тестов локально? Смотрел эту статью? Там рассказано и про запуск тестов локально. https://infostart.ru/public/1092009/

PiskunovSS commented 4 years ago

@PiskunovSS Расскажи подробнее, какие проблемы возникли при запуске тестов локально? Смотрел эту статью? Там рассказано и про запуск тестов локально. https://infostart.ru/public/1092009/

Статью смотрел. После того, как написал, попробовал еще раз запустить тесты. Прогнал только на 8.3.14. Попадали тесты, связанные со скриншотами. Не разбирался, скорее всего компоненты нет. Главное, что тесты запустились. Остальное по ходу решу.

@Pr-Mex подскажи, видел сообщение в некоторых issue "run tests". Это любой может стартовать полный прогон тестов на сервере? В каких случаях это нужно использовать мне, если я буду какие-то мелкие баги править или предложу свои шаги в библиотеку?

Pr-Mex commented 4 years ago

Решено.