Как организовать сценарное тестирование в 1С: выбор инструмента, исправление ошибок и переход к Vanessa Automation

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Автоматизация тестирования в крупных холдингах и при сопровождении сложных конфигураций — это не роскошь, а производственная необходимость. Разберем накопленный опыт использования инструментов от фирмы «1С» и выясним, почему профессиональное сообщество все чаще делает выбор в пользу open-source решений. В этой статье мы проанализируем возможности «1С:Тестировщик», «1С:Сценарное тестирование» и причины перехода на Vanessa Automation.

Выбор инструмента: «1С:Тестировщик» против «1С:Сценарное тестирование»

Для начала проанализируем, в чем разница между базовыми инструментами. «1С:Тестировщик» — это облегченная версия, предназначенная для быстрого формирования простых тестов. Она идеально подходит для записи действий пользователя «на лету», но имеет ряд ограничений:

  1. Работает только в конфигурациях на управляемых формах.
  2. Требует версию платформы не ниже 8.3.17.1851.
  3. Является «обрезанной» версией «1С:Сценарное тестирование» в части управления и автоматизации.

Важно понимать, что сценарии этих двух инструментов полностью совместимы. Если вы начали в «Тестировщике», вы сможете перенести наработки в полноценное «Сценарное тестирование 3.0» без потери данных.

Типовые ошибки и способы их обхода

Рассмотрим конкретные технические проблемы, с которыми сталкиваются специалисты при использовании этих инструментов «из коробки», и найдем способы их решения. Проанализируем две наиболее критичные ошибки поиска:

1. Поиск в поле ввода из иерархического справочника
Часто стандартный механизм записи не может корректно выбрать значение, если справочник имеет сложную иерархию. Выясним причину: инструмент пытается имитировать клики, которые сбиваются при открытии новых уровней дерева. Решение: заменим интерактивный поиск на прямой ввод кода справочника с последующим нажатием Enter. Это гарантирует однозначную идентификацию объекта вне зависимости от визуального состояния дерева справочника.

2. Поиск строк в табличных частях
При поиске конкретной строки в большой таблице тест может «промахнуться». Рассмотрим надежный обходной путь: использование механизма «Процедура на встроенном языке». В форме настройки шага мы можем включить запись действий, а затем отредактировать полученный код 1С.

Вместо стандартного клика по строке, пропишем поиск программно:


// Пример программного поиска строки в табличной части
ПараметрыОтбора = Новый Структура("Номенклатура", СсылкаНаТовар);
НайденныеСтроки = Объект.Товары.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() > 0 Тогда
    // Выполняем действия с найденной строкой
КонецЕсли;

Подготовка информационной базы к тестированию

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

Правило: перед запуском сценарного теста необходимо очищать настройки пользователя. Это можно сделать через ХранилищеОбщихНастроек. Также рекомендуется программно устанавливать рабочую дату тестирования, чтобы документы создавались в нужном периоде.

Готовые шаблоны сценариев для типовых конфигураций

Не обязательно писать все тесты с нуля. Проанализируем наличие готовых наработок для популярных решений 1С:

Для «1С:Бухгалтерия 3.0 (КОРП)»:
Существуют готовые наборы сценариев (например, в релизе 3.0.45.20 и выше), которые включают:

Для «1С:Зарплата и Управление Персоналом 3.1»:
Рассмотрим пример нагрузочного или функционального теста, который должен включать цепочку действий:

  1. Создание документа Прием на работу.
  2. Регистрация отклонений: Отпуск, Больничный лист.
  3. Создание документа Табель.
  4. Итоговое Начисление зарплаты и взносов.

Проблема пакетного запуска и переход к Vanessa Automation

Выясним причину, почему многие команды в итоге отказываются от стандартных инструментов «1С». Основная сложность — стабильный ночной запуск пакетом. При автоматизации через планировщик задач часто возникают проблемы с отрисовкой GUI в сеансе пользователя, если он заблокирован. Инструмент «1С:Сценарное тестирование» крайне чувствителен к наличию активного графического окна.

Почему выбирают Vanessa Automation:

Посмотрим на пример простейшего сценария в формате Gherkin:


Функционал: Создание документа Поступление товаров
Сценарий: Проверка заполнения цены из карточки номенклатуры
  Дано: Я открываю основное окно
  И Я открываю список документов "Поступление товаров и услуг"
  Когда Я нажимаю кнопку "Создать"
  И Я выбираю в поле "Контрагент" значение "Основной поставщик"
  И Я добавляю строку в таблицу "Товары"
  И Я выбираю в текущей строке значение "Стол" в колонке "Номенклатура"
  Тогда поле "Цена" в текущей строке должно быть заполнено значением 1500

Итоговые рекомендации

Подведем итог нашему анализу. Если ваша задача — быстро проверить небольшую доработку «здесь и сейчас», используйте «1С:Тестировщик». Для стабильной работы с иерархией и сложными таблицами обязательно переходите к редактированию шагов на встроенном языке.

Однако, если вы планируете выстраивать полноценный процесс обеспечения качества (QA) в холдинге с ночными прогонами и хранением истории тестов в Git, мы рекомендуем сразу рассматривать Vanessa Automation. Это сэкономит время, которое в противном случае будет потрачено на борьбу с ограничениями закрытых инструментов тестирования.

← На главную