Автоматизированное тестирование в «1С:Предприятие 8.3» (бесплатная статья по Программированию в 1С)

О чем эта статья

В статье рассмотрен новый механизм автоматизированного тестирования, который впервые появился в платформе в редакции 8.3. Изучив материал статьи, вы узнаете:

  • Что представляет из себя автоматизированное тестирование в платформе?
  • Как и когда им пользоваться?
  • Что и где нужно настроить, чтобы его запустить?
  • Как написать сценарий автоматизированного тестирования?

Применимость

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

Автоматизированное тестирование в «1С:Предприятие 8.3»

В платформе «1С:Предприятие 8.3» появился новый механизм, предназначенный для имитации интерактивных действий пользователей системы – автоматизированное тестирование.

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

При тестировании используются два вида клиентских приложений – менеджер тестирования и клиент тестирования. Менеджер тестирования устанавливает связь с клиентом тестирования и выполняет сценарий тестирования.

Сценарий тестирования – это код на встроенном языке, в котором описывается последовательность выполняемых интерактивных действий.

Для этого во встроенный язык добавлены новые объекты, которые на абстрактном уровне описывают интерфейс приложения (оперируя понятиями окна, формы, элементов управления и т.п.), а также описывают действия пользователей (навигация по конфигурации, ввод данных и т.п.).

Менеджер тестирования может быть толстым или тонким клиентом. Клиент тестирования – толстым, тонким клиентом или веб-клиентом.

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

Для управления клиентом менеджер устанавливает с ним TCP-соединение. Важно, что для проведения автоматизированного тестирования не требуется вносить изменений в структуру конфигурации.

По сути, клиент и менеджер тестирования – это конфигурации, запущенные с определенными параметрами командной строки, причем менеджер осуществляет управление клиентами, “заставляя” окна и элементы управления вести себя таким образом, как будто с ними взаимодействует пользователь.

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

Для выполнения автоматизированного тестирования должен быть запущен менеджер и клиент тестирования.

Запуск менеджера может быть выполнен из командной строки с ключом /TESTMANAGER:

“c:\Program Files (x86)\1cv8\8.3.4.437\bin\1cv8c.exe” ENTERPRISE /F “X:\test” /N Администратор /TESTMANAGER

Также менеджер тестирования можно запустить из конфигуратора.

Для этого через меню Сервис – Параметры открываем диалог “Параметры”, в котором на закладке Запуск 1С:Предприятия – Дополнительные отмечаем пункт “Запускать как менеджер тестирования”:

Запуск менеджера тестирования из конфигуратора

Еще один способ запуска менеджера тестирования – из встроенного языка, при помощи метода ЗапуститьСистему(), в котором следует указать командную строку:

ЗапуститьСистему(“c:\Program Files (x86)\1cv8\8.3.4.437\bin\1cv8c.exe” ENTERPRISE /F X:\test /N Администратор /TESTMANAGER”)

Клиента тестирования также можно запустить из командной строки. Для этого следует воспользоваться ключом параметра командной строки /TESTCLIENT.

При помощи параметра TPort указывается номер порта, через который будет вестись взаимодействие менеджера и клиента тестирования. Если этот параметр не указан в командной строке, то будет использован порт 1538.

“c:\Program Files (x86)\1cv8\8.3.4.437\bin\1cv8c.exe” ENTERPRISE /F “X:\Platform8Demo” /N Администратор /TESTCLIENT -TPort 1539

Клиент тестирования можно запустить из конфигуратора. Для этого через меню Сервис – Параметры открываем диалог “Параметры”, в котором на закладке Запуск 1С:Предприятия – Дополнительные отмечаем пункт “Запускать как клиент тестирования”. При этом надо будет указать номер используемого порта.

Запуск клиента тестирования

Обратите внимание, что для подключения к клиенту тестирования необходимо знать два параметра: IP-адрес (или имя) компьютера, на котором запущен клиент тестирования, и номер TCP-порта, с помощью которого будет выполняться взаимодействие.

В качестве менеджера и клиента тестирования могут использоваться как разные информационные базы (конфигурация базы менеджера тестирования может не совпадать с конфигурацией клиента тестирования), так и одна и та же информационная база.

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

  1. Разработать сценарий тестирования – написать внешнюю или встроенную в конфигурацию обработку, в которой будут последовательно описаны выполняемые шаги.
  2. Запустить менеджер тестирования.
  3. Запустить клиент тестирования (один или несколько).
  4. В менеджере тестирования запустить на исполнение созданную обработку, убедиться в выполнении запрограммированных действий на клиенте.

Тестируемое приложение описывается набором объектов встроенного языка, которые используются для написания сценария:

  • ТестируемоеПриложение;
  • ТестируемоеОкноКлиентскогоПриложения;
  • ТестируемыйКомандныйИнтерфейсОкна;
  • ТестируемаяГруппаКомандногоИнтерфейса;
  • ТестируемаяКнопкаКомандногоИнтерфейса;
  • ТестируемаяФорма;
  • ТестируемоеПолеФормы;
  • ТестируемаяГруппаФормы;
  • ТестируемаяКнопкаФормы;
  • ТестируемаяТаблицаФормы;
  • ТестируемаяДекорацияФормы.

В качестве тестируемой конфигурации будем использовать демонстрационную конфигурацию “Управляемое приложение”.

Создадим внешнюю обработку, добавим новую форму, в которой определим обработчик для новой команды “ЗапуститьТестирование”.

Внешняя обработка - запустить тестирование

Для увеличения нажмите на изображение.

В тесте выполняем следующие действия: создаем новый элемент справочника “Склады”, в поле Наименование вводим строку “Склад тест”, затем нажимаем кнопку “Записать и закрыть”.

Программный код этого теста будет выглядеть следующим образом:

&НаКлиенте
Процедура ЗапуститьТестирование(Команда)
// Подключимся к тестируемому приложению
ТестируемоеПриложение = Новый ТестируемоеПриложение(“localhost”);
// Пытаемся подключаться не более одной минуты
ВремяОкончанияОжидания = ТекущаяДата() + 60;
Подключен = Ложь;
Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл

Попытка
ТестируемоеПриложение.УстановитьСоединение();
Подключен = Истина;
Прервать;
Исключение
КонецПопытки;

КонецЦикла;

Если Не Подключен Тогда
// Завершаем работу теста
ТестируемоеПриложение = Неопределено;
Сообщить(“Не удалось установить соединение!”);
Возврат;
КонецЕсли;
// Найдем главное окно
ГлавноеОкноТестируемого
=
ТестируемоеПриложение.НайтиОбъект(Тип(“ТестируемоеОкноКлиентскогоПриложения”));
ГлавноеОкноТестируемого.Активизировать();
// Выполним команду создания элемента справочника товаров
ГлавноеОкноТестируемого.ВыполнитьКоманду(“e1cib/command/Справочник.Склады.Создать”);
ТестируемоеПриложение.ОжидатьОтображениеОбъекта(Тип(“ТестируемаяФорма”), “Склад*”);
ТестируемаяФорма = ТестируемоеПриложение.НайтиОбъект(Тип(“ТестируемаяФорма”),
“Склад*”
);
ТестируемаяФорма.Активизировать();
// Зададим наименование для нового товара
ЭлементФормы = ТестируемаяФорма.НайтиОбъект(Тип(“ТестируемоеПолеФормы”),
“Наименование”
);
ЭлементФормы.Активизировать();
ЭлементФормы.ВвестиТекст(“Склад тест”);
// Запишем элемент
ЭлементФормы = ТестируемаяФорма.НайтиОбъект(Тип(“ТестируемаяКнопкаФормы”),
“Записать и закрыть”
);
ЭлементФормы.Нажать();
КонецПроцедуры

В диалоге параметров запуска сначала выбиралось значение “Запустить как менеджер тестирования”, при помощи сочетания клавиш Ctrl+F5 запускался пользовательский сеанс.

Потом в диалоге выбиралось значение “Запустить как клиент тестирования”, при помощи сочетания клавиш Ctrl+F5 запускался второй пользовательский сеанс.

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

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

Здесь на помощь приходит еще одна новая возможность платформы – запись журнала действий пользователя.

Для этого необходимо запустить приложение в специальном режиме:

Запись журнала действий пользователя

Для увеличения нажмите на изображение.

В заголовке программы появляется несколько кнопок:

Кнопки записи в программе

Кнопки предназначены для:

  • начала/приостановки записи;
  • прекращения записи;
  • завершения записи.

После завершения записи на экране открывается текстовый документ, который представляет собой последовательность действий пользователя, сохраненную в XML-файл.

Журнал действий пользователя

Для увеличения нажмите на изображение.

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

Для этого предназначена обработка “Преобразование журнала действий пользователя” (UILogToScript.epf), которую можно получить с сайта ИТС.

Обработка Преобразование журнала действий пользователя

Для увеличения нажмите на изображение.

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

Обратите внимание, что в сгенерированном коде числа, большие 999 или меньшие –999, будут выводиться с использованием неразрывного пробела в качестве разделителя групп (например, «1 234» вместо «1234»).

Этот символ необходимо удалить из полученного кода вручную.

Участок кода с подключением к клиенту обработка сформировала автоматически.

В нашем примере получился следующий код:

&НаКлиенте
Процедура ЗапуститьТестирование(Команда)
ТестовыйСценарий_23_03_2014();
КонецПроцедуры

&НаКлиенте
Процедура ТестовыйСценарий_23_03_2014()

ТестовоеПриложение = Новый ТестируемоеПриложение();
ВремяОкончанияОжидания = ТекущаяДата() + 60;
Подключен = Ложь;
ОписаниеОшибкиСоединения = “”;
Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл
Попытка
ТестовоеПриложение.УстановитьСоединение();
Подключен = Истина;
Прервать;
Исключение
ОписаниеОшибкиСоединения = ОписаниеОшибки();
КонецПопытки;
КонецЦикла;
Если Не Подключен Тогда
ТестовоеПриложение = Неопределено;
Сообщить(“Не смогли установить соединение!” + Символы.ПС + ОписаниеОшибкиСоединения);
Возврат;
КонецЕсли;

ОкноПриложенияКонтрагентыКнопкаСоздатьНажать(ТестовоеПриложение);
ОкноПриложенияКонтрагентСозданиеКнопкаЗаписатьИЗакрытьНажать(ТестовоеПриложение);

КонецПроцедуры

&НаКлиенте
Процедура ОкноПриложенияКонтрагентыКнопкаСоздатьНажать(ТестовоеПриложение)
ОкноПриложенияКонтрагенты = ТестовоеПриложение.НайтиОбъект(Тип(
“ТестируемоеОкноКлиентскогоПриложения”), “Контрагенты”, , 30);
ОкноПриложенияКонтрагентыФормаКонтрагенты = ОкноПриложенияКонтрагенты.НайтиОбъект(Тип(
“ТестируемаяФорма”), “Контрагенты”);
КнопкаСоздать = ОкноПриложенияКонтрагентыФормаКонтрагенты.НайтиОбъект(Тип(
“ТестируемаяКнопкаФормы”), “Создать”);
КнопкаСоздать.Нажать();

КонецПроцедуры

&НаКлиенте
Процедура ОкноПриложенияКонтрагентСозданиеКнопкаЗаписатьИЗакрытьНажать(ТестовоеПриложение)

ОкноПриложенияКонтрагентСоздание = ТестовоеПриложение.НайтиОбъект(Тип(
“ТестируемоеОкноКлиентскогоПриложения”), “Контрагент (создание)”, , 30);
ОкноПриложенияКонтрагентСозданиеФормаКонтрагентСоздание =
ОкноПриложенияКонтрагентСоздание.НайтиОбъект(Тип(“ТестируемаяФорма”),
“Контрагент (создание)”);
ПолеНаименование =
ОкноПриложенияКонтрагентСозданиеФормаКонтрагентСоздание.НайтиОбъект(Тип(
“ТестируемоеПолеФормы”), “Наименование”);
ПолеНаименование.ВвестиТекст(“Новый”);

ПолеВидЦен = ОкноПриложенияКонтрагентСозданиеФормаКонтрагентСоздание.НайтиОбъект(Тип(
“ТестируемоеПолеФормы”), “Вид цен”);
ПолеВидЦен.Активизировать();

ПолеВидЦен.Выбрать();

ПолеВидЦен.ОжидатьФормированияВыпадающегоСписка();

ПолеВидЦен.ВыполнитьВыборИзСпискаВыбора(“Закупочная”);

КнопкаЗаписатьИЗакрыть =
ОкноПриложенияКонтрагентСозданиеФормаКонтрагентСоздание.НайтиОбъект(Тип(
“ТестируемаяКнопкаФормы”), “Записать и закрыть”);
КнопкаЗаписатьИЗакрыть.Нажать();

КонецПроцедуры

В полученном сценарии устанавливается подключение к клиенту тестирования, нажимается кнопка создания нового элемента справочника “Контрагенты”, в поле Наименование вводится текст “Новый”, а в выпадающем списке “Вид цен” выбираем значение “Закупочная”, затем нажимается кнопка “Записать и закрыть”.

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

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

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

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

Процедура ТестовыйСценарий_23_03_2014_ДваКлиента()

//первый клиент
ТестовоеПриложение1 = Новый ТестируемоеПриложение();
ВремяОкончанияОжидания = ТекущаяДата() + 60;
Подключен = Ложь;
ОписаниеОшибкиСоединения = “”;
Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл
Попытка
ТестовоеПриложение1.УстановитьСоединение();
Подключен = Истина;
Прервать;
Исключение
ОписаниеОшибкиСоединения = ОписаниеОшибки();
КонецПопытки;
КонецЦикла;

//второй клиент
ТестовоеПриложение2 = Новый ТестируемоеПриложение();
ВремяОкончанияОжидания = ТекущаяДата() + 60;
ОписаниеОшибкиСоединения = “”;
Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл
Попытка
ТестовоеПриложение2.УстановитьСоединение();
Подключен = Истина;
Прервать;
Исключение
ОписаниеОшибкиСоединения = ОписаниеОшибки();
КонецПопытки;
КонецЦикла;
Если Не Подключен Тогда
ТестовоеПриложение1 = Неопределено;
ТестовоеПриложение2 = Неопределено;
Сообщить(“Не смогли установить соединение!” + Символы.ПС + ОписаниеОшибкиСоединения);
Возврат;
КонецЕсли;

//процедуры отдельные для каждого клиента тестирования
ОкноПриложенияКонтрагентыКнопкаСоздатьНажать1(ТестовоеПриложение1);
ОкноПриложенияКонтрагентыКнопкаСоздатьНажать2(ТестовоеПриложение2);
ОкноПриложенияКонтрагентСозданиеКнопкаЗаписатьИЗакрытьНажать1(ТестовоеПриложение1);
ОкноПриложенияКонтрагентСозданиеКнопкаЗаписатьИЗакрытьНажать2(ТестовоеПриложение2);

КонецПроцедуры

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

Кроме того, автоматизированное тестирование доступно только для управляемых форм.

Однако преимуществом автоматизированного тестирования является простота и наглядность разработки тестов. Поскольку тест оперирует только интерактивными действиями пользователя, то разработчику не нужно знать структуры конфигурации на уровне реквизитов объектов.

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

Механизм автоматизированного тестирования может быть использовано тестировщиками для записи последовательности действий, приводящих к ошибке. Записанные данные можно отправить разработчикам для исправления обнаруженной ошибки.

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

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

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.

Статья по программированию - в PDF-формате

Статья в PDF-формате

Вы можете скачать эту статью в формате PDF по следующей ссылке: Ссылка доступна для зарегистрированных пользователей)

Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.

28 комментариев для “Автоматизированное тестирование в «1С:Предприятие 8.3» (бесплатная статья по Программированию в 1С)

  1. AlertDream сказал:

    Здравствуйте, возник следующий вопрос.
    Возможно ли реализовать такой сценарий:

    1)Входим в режим предприятия под “Пользователь №1” с полными правами
    4)Открываем форму списка заказов клиента у “Пользователя №1”
    2)Входим в режим предприятия под “Пользователем №2”
    3)Входим в режим предприятия под “Пользователем №3”

    Далее действия “Пользователя №1”:

    5)Открываем сначала форму документа “Заказа №1”
    6)Открываем струткру подчиненности этого заказа
    7)Открывает реализацию этого заказа
    8)Отменяем проведение реализации
    9)Убираем привязку к заказу в реализации
    10)Помечаем реализацию на удаление
    11)Закрываем реализацию
    12)В форме “Заказа №1” открывает историю изменений и переходим на версию номер 5
    13)Закрываем “Заказ №1”
    12)Закрываем структуру подчиненности
    14)Затем тоже самое делаем для “Заказа №2”

    Далее действия “Пользователя №2” и “Пользователя №3”, которые они делают одновременно:

    15)В форме списка заказов клиента “Пользователь №2” нажимает кнопку оформить документы
    для “Заказа №1” (Эта кнопка проводит заказ и создает по нему реализацию – к сведению)
    15)+ Эти же действия выполняет “Пользователь №3” для “Заказа №2” одновременно с “Пользователем №2”
    16)Повторить c 5 пункта по 15 определенное количество раз

    P.S. Вопрос в следующем. Возможно ли последодвательно выполнение следующего при описании сценария:
    1. Сначала Пользователь №1 выполняет свои действия с 5 по 14 пункт
    2. Затем “Пользователь №2” и “Пользователь №3” выполняют свой 15 пункт одновременно
    3. 1 и 2 повторяется определенное количество раз

    • Василий Ханевич сказал:

      Добрый день!
      По описанию всё выглядит вполне реализуемым, можно разработать такой сценарий.
      Чтобы не писать вручную весь программный код сценария, можно воспользоваться записью журнала действий пользователя.

  2. Всилий сказал:

    Возможно ли в принципе запуск обычного приложения (не управляемые формы) с ключем TESTCLIENT для записи журнала действий пользователя?
    У меня так и не получилось.

    • Василий Ханевич сказал:

      Добрый день!
      На обычных формах этот функционал не поддерживается.

  3. Анастасия сказал:

    Добрый день!
    Предусмотрена ли возможность записи протокола выполнения сценариев тестирования средствами автоматизированного тестирования?

    • Василий Ханевич сказал:

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

  4. oleg_1c сказал:

    Какой синтаксис метода “ВыполнитьКоманду()” для толстого клиента?
    Как открыть форму, создать объект?

    • Василий Ханевич сказал:

      Синтаксис метода ВыполнитьКоманду одинаков для тонкого и толстого клиентов. В качестве параметра нужно передать навигационную ссылку.
      Однако нужно иметь в виду, что автоматизированное тестирование не поддерживает работу с обычным интерфейсом, а только с управляемым.

  5. Елена сказал:

    Добрый день.

    Пытаюсь воспроизвести действия , описанные в статье. При формировании кода при помощи обработки UILogToScript.epf сценарий не отрабатывает и вываливается в ошибку на строке ОкноПриложенияКонтрагентыФормаКонтрагенты = ОкноПриложенияКонтрагенты.НайтиОбъект(Тип(

    «ТестируемаяФорма»), «Контрагенты»);

    Само ОкноПриложенияКонтрагенты получается с типом “Неопределено”.

    Первый пример со схемой:
    1.ВыполнитьКоманду()
    2.ОжидатьОтображениеОбъекта()
    3.НайтиОбъект()
    отрабатывает корректно.

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

    • Василий Ханевич сказал:

      Добрый день!
      Если функция возвращает значение Неопределено, то система не смогла найти требуемый объект. В вашем случае на тестируемом приложении надо предварительно открыть форму списка справочника Контрагенты. Тогда указанный код отработает без ошибок.

  6. sutuliy сказал:

    Добрый день, застрял на двух моментах
    1. Сценарий пользователя не записывает действия в окнах типа “Вопрос”, “предупреждение” как программно с ними работать не понятно очень мало информации.
    2. Выбор типа у составного поля формы

    • hanv сказал:

      При помощи записи журнала действий пользователя и обработки преобразования журнала можно получить программный код обработчиков.
      Для сценариев на демоконфигурации “Управляемое приложение” выполнял следующую последовательность действий:
      1) Ответ на Вопрос
      – открываем документ “Приход товара”, нажимаем кнопку “Заполнить”, в обработчике присутствует ПоказатьВопрос, отвечаем на него “Да”

      2) Реквизит составного типа
      – у документа “Приход товара” есть реквизит Реквизит1 составного типа (Контрагенты, Товары)
      – открываем документ “Приход товара”, нажимаем кнопку выбора, появляется окно выбора типа данных, выбираем “Контрагенты”, выбираем конкретный элемент справочника из списка.

      В сформированном коде можно увидеть, как нажимается кнопка “Да” при ответе на вопрос, а также выбор типа для реквизита составного типа.
      Получится код следующего вида:

      Процедура ОкноПриложения1СПредприятиеКнопкаДаНажать(ТестовоеПриложение)

          ОкноПриложения1СПредприятие = ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"), "1С:Предприятие", , 30);
          ОкноПриложения1СПредприятиеФорма1СПредприятие = ОкноПриложения1СПредприятие.НайтиОбъект(Тип("ТестируемаяФорма"), "1С:Предприятие");
          КнопкаДа = ОкноПриложения1СПредприятиеФорма1СПредприятие.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Да");
          КнопкаДа.Нажать();

      КонецПроцедуры
      Процедура ОкноПриложенияВыборТипаДанныхКнопкаОКНажать(ТестовоеПриложение)

          ОкноПриложенияВыборТипаДанных = ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"), "Выбор типа данных", , 30);
          ОкноПриложенияВыборТипаДанныхФормаВыборТипаДанных = ОкноПриложенияВыборТипаДанных.НайтиОбъект(Тип("ТестируемаяФорма"), "Выбор типа данных");
          КнопкаОК = ОкноПриложенияВыборТипаДанныхФормаВыборТипаДанных.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "ОК");
          КнопкаОК.Нажать();

      КонецПроцедуры

      Информации по автоматизированному тестированию действительно немного:(

  7. zhu4 сказал:

    Господа, а проясните , пожалуйста, в каких практических случаях это может применяться? С тестированием слабо знаком. Пример показал, что вот есть нажатия кнопок для создания объектов. Но для чего еще можно это использовать?

    • hanv сказал:

      Возможные варианты применения:
      1. Имитация интерактивных действий пользователей.
      2. Запись действий пользователя, приведших к возникновению ошибки, для передачи в службу поддержки (или на доработку).
      3. Выявление проблем производительности (ожидания на блокировках, взаимоблокировки).
      4. Проведение нагрузочного тестирования.

  8. Serega456 сказал:

    Как обзор по новой функции “Автоматическое тестирование” – статья хорошая.

  9. Наталья сказал:

    Статья интересная и познавательная. Что касается замечаний – я бы немного иначе описала способы запуска клиентов и менеджера тестирования. В статье сначала описываются способы для менеджера, затем, по сути, те же способы для клиентов. Мне кажется, надо указать, что существует 3 способа запуска и затем каждый из них описать для клиента и для менеджера.

  10. FoXSkr сказал:

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

  11. progr-2008 сказал:

    Понравилось, очень полезно. Спасибо!
    Давно хотела добраться до этой темы.
    Вот еще бы примерчик немного посложнее добавить, может, просто в виде файла к статье, без особых объяснений – только сказать про смысл, чтобы код было проще разобрать.

    Совсем отлично было бы.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Мы используем файлы cookies, чтобы сделать сайт удобнее.
Продолжая просмотр сайта, Вы соглашаетесь с их использованием.
Подробнее