Ошибка выполнения дымовых тестов в ОФ

Подскажите пожалуйста, куда копать. Запускаю дымовые тесты в ОФ, add 5.4.0, получаю много таких ошибок:

{ВнешняяОбработка.Тесты_ОткрытиеФормКонфигурации.МодульОбъекта(893)}: Метод объекта не обнаружен (ПолучитьФормуЛкс)
Возврат мПолучениеФорм.ПолучитьФормуЛкс(ИмяФормы, Параметры, Владелец, Уникальность, Окно);

Это происходит только при выполнении нескольких тестов сразу, по “Выполнить все тесты” или “Выполнить выделенные”. Если запускать тесты по одному вручную, то все ок.

@Andrew_Zolkolin

  1. Версия 1С какая?

  2. У вас типовая конфигурация?
    УПП ? какой версии?

Платформа 8.3.10.2699
Конфигурация “Управление торговлей”, редакция 10.3 (10.3.33.1)
конфигурация нетиповая, но на ошибка воспроизводится на объекта, стоящих на поддержке.

Я попробовал воспроизвести на типовой УТ 10.3.47
но браузер тестирования не запускается в режиме совместимости в 8.2.13 из-за новых функций работы со строками, так что, возможно, дело в нетиповой конфигурации, в неверной работе полифилов для новых строковых функций, потому что конфигурация, в которой не запускаются тесты тоже в режиме совместимости 8.2.13.
Пока вопрос на паузе, напишу, как разберусь.

Да, сейчас в 5.4.0 нет поддержки 8.2 даже в режиме совместимости.

Можете проголосовать за поддержку 8.2 в специальном ишузе

Добрый день.
Такая же ошибка и у нас воспроизводится в толстом клиенте. Платформа 8.3.11.3034. Режим совместимости 8.3.6. При прохождении нескольких тестов первый из них проходит нормально, т.е. в переменной мПолучениеФорм форма видит свой метод ПолучитьФормуЛкс(). При следующем шаге в переменной мПолучениеФорм фактически таже форма, но вылетает ошибка.

Ошибка возникает если Имя внешней обработки в свойствах обработки, не соответствует имени файла внешней обработки.

Применительно к ОФ, на примере “дымных” тестов, если купировать вызовы Стр*** через глобальный модуль, всё в целом работает исправно, чего не скажешь про УФ.)

Про имя обработки и имя файла расшифруй.
у тебя же на скриншоте одинаковые=правильные имена показаны.
в чем тогда проблема?

После проведенных экспериментов получилось следующее: если подряд вызывается тест и загружается одна и та же обработка (в данном случае “Тесты_Открытие…”) и если после каждого теста в коде стоит точка останова, то ошибка не возникает (т.е. если мы делаем паузу между каждой загрузкой обработки). Если запустить подряд тесты (без пауз), то при повторной загрузке обработки “Тесты_Открытие…” система “не видит” у формы вышеназванного метода.
Проблему удалось решить только добавив условие: если на предыдыщем этапе уже загружалась эта обработка, то на текущем этапе ее уже не загружаем, а используем обработку которая “висит в памяти”.
Заодно получилась некая оптимизация: на тестах открытия форм больше не тратится время на создание/загрузку одной и той же обработки.

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

@sfaqer Подобная проблема была в ранних версиях ADD, последняя версия 5.4.0 гарантированно работает с любыми обработками, например. с теми, у которых имя файла и имя обработки не совпадает.

у тебя какая версия Vanessa-ADD ?

@Seegez_Ramendoz как именно сделали подобную доработку?
кодом поделитесь?

@Seegez_Ramendoz Подскажи, у тебя толстый клиент упр.формы или все-таки обычные формы?

Толстый клиент с толстыми формами. В конфигурации разрешено использовать управляемый формы

xddTestRunner - модуль обработки - Функция ВыполнитьТесты(…) - строка 162:

если надо программный код всей обработки, то могу выложить

@Seegez_Ramendoz Да, выложи весь код.

У меня XUnitFor1C 4.2.0.2 =)

Так переходи на ADD, там много чего добавлено и поправлено.

Полная совместимость с xUnitFor1C 4.Х гарантируется.

например, в новом релизе дымовые и тесты кодом наконец-то смогут в асинхроне работать :slight_smile:
новый релиз в ближайшие дни выпустим