Skip to content

Тесты открытия форм

Artur Ayukhanov edited this page Feb 28, 2017 · 3 revisions

Существующая универсальная реализация дымовых тестов позволяет использовать базовые/«дымовые» проверки, для которых не требуется написание сложных тестов или перестройка схемы разработки конфигурации 1С.

Тесты удобно использовать перед выпуском релиза/обновлений конфигурации и/или перед установкой релиза/обновлений в рабочую базу.

Реализация тестов проверяет открытие/закрытие различных форм с учетом прав доступа (права "Использование/Просмотр") для пользователей с различными ролями (полные или ограниченные права).

Проверяются следующие виды наиболее активно используемых форм:

  • формы списков и формы выбора справочников
  • форма элементов справочников
  • формы списков и формы выбора документов
  • формы документов
  • формы отчетов
  • формы обработок

Также для каждого справочника проверяются 3 дополнительных теста c учетом прав доступа (права "Просмотр/Интерактивное добавление"):

  1. создание нового элемента и открытие его формы
  2. копирование существующего элемента и открытие формы созданного элемента
  3. открытие формы существующего элемента

Для каждого документа проверяются 3 дополнительных теста c учетом прав доступа (права "Просмотр/Интерактивное добавление"):

  1. открытие формы существующего документа (берется последний по дате)
  2. перенос существующего документа на текущий день и открытие формы этого документа
  3. открытие формы нового документа

Настройка дымовых тестов под конкретную конфигурацию

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

Например, часть форма не предназначена для работы в интерактивном режиме и т.п.

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

Подобные формы необходимо добавить в исключения.

Исключения для версии 4.1.Х.Х и выше

Для добавления исключения в корне фреймворка xUnitFor1C, рядом с файлом xddTestRunner.epf, нужно создать файл 1smoke.json

Это файл json-формата с различными коллекциями и массивами

В нем могут быть 4 коллекции – Справочники, Документы, Отчеты, Обработки

И подразделы/простые массивы-перечисления (для справочников и документов) – Списки, Существующие, Новые, ПеренестиДату (для документов)

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

Примерный текст файла (текст и картинка):

{
    "Справочники": {
        "Списки": [
            "ПростойСправочник",
            "СоставПериметра"
        ],
        "Новые": [
            "ПростойСправочник2",
            "СоставПериметра"
        ]
    },
    "Отчеты": [
        "Отчет1"
    ],
    "Обработки": [
        "xddGuidShow"
    ]
}

Исключения для версии ниже 4.1.Х.Х (более сложный) - не рекомендуется

Описанный ниже способ хуже, чем вышеуказанный метод указания исключений:

  • нужно менять код внешней обработки, что усложняет сопровождение
  • код обработки менять сложнее, чем простой текстовый файл
  • текст файла удобнее держать в репозитории исходников, чем код внешней обработки

Исключения задаются непосредственно в файле-теста Tests\Smoke\Тесты_ОткрытиеФормКонфигурации.epf

В конце файла есть набор методов

+ //{ блок переопределения исключений, чтобы не открывать формы
+ Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт	
+ Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт
+ Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт
+ Функция ПолучитьСписокИсключений_Отчеты() Экспорт
+ Функция ПолучитьСписокИсключений_Обработки() Экспорт
+ //} конец блока

Формат этих методов

Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт
	Результат = Новый СписокЗначений;
	
	Результат.Добавить("ирАлгоритмы"); // Аналогично добавляем наименования нужных метаданных
	
	Возврат Результат;
КонецФункции

Нужно добавить имя метаданного-исключения в соответствующий метод в виде указанного кода.

Clone this wiki locally