Автоматизация тестирования с помощью WinAutomationUI

11.12.18

Разработка - Тестирование QA

Рассматривается использование инструмента WinAutomationUI для создания автоматизированных сценарных тестов на примере 1 + 1 = 2.

На инфостарте можно найти много публикаций, описывающие преимущества использования тестирования при разработке. На мой взгляд, основная причина почему массово не используется автоматизированное тестирование - отсутствие простого инструмента, которое обеспечивает это тестирование. С позиции разработчика - если я потратил на разработку час времени, не хочется тратить ещё час на создание теста. А если требуемое время сократить до 5 минут? Гораздо интересней.

Цель публикации познакомить с утилитой WinAutomationUI, более подробное описание можно найти на http://testingtool.ru.

Вам потребуется 5 минут времени. Всё.Так что, если картинка из заголовка не про Вас, пожалуйста, потратьте эти 5 минут.

Скачиваем два файла:

Архив с утилитой
Внешнюю обработку МенеджерСценарногоТеста

Распакуйте архив:

Открываем каталог ExternalAutomationUI и запускаем файл WinAutomationUI.exe

У вас откроется окно приложения, нажимаем Server->Start.

Если всё прошло хорошо, после старта у вас появится подменю Open localhost.

Нажав на которое, откроется окно браузера.

 

Подготовка окончена. Вытрем пот со лба.

1. Открываем стандартное приложение калькулятор.

2. Открываем любую конфигурацию (управляемые формы) в режиме предприятия и открываем обработку Менеджер сценарного теста. Нажимаем используемое API Automation UI, кнопку "Обновить список доступных приложений"и ставим флажок рядом с calc:

 

Далее 1) нажимаем на красную кнопочку

2) переходим в калькулятор

На калькуляторе нажимаем мышкой: «сброс», 1+1=2 и в завершении кликаем на панель с цифрами

3) Нажимаем завершить запись

4) Нажимаем преобразовать

Откроется вторая вкладка.

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

Проставим флажки по кнопке "1" на картинке.

Встанем на поле "Найти объект "2""

В командах API найдем "Сравнить данные", установим курсор мыши на эту команду и нажмем кнопку Добавить (3). Справа укажем представление 3 и выберем условие сравнение "Равно".

Нажмем кнопки 4 и кнопкой 5 запустим тест. Если всё сделано корректно, у вас откроется калькулятор, выполнится пример 1 + 1 = 2. И появится предупреждение, что ожидаемое значение 3 <>2.

Если у Вас в процессе выполнения возникнут сложности, обратитесь к видео инструкции:

Вступайте в нашу телеграмм-группу Инфостарт

WinAutomationUI тестирование testingtool.ru Фреймворк «Тестирование 3.0»

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

DevOps и автоматизация разработки Тестирование QA Групповая разработка (Git, хранилище) Программист 1С:Предприятие 8 Бесплатно (free)

Четыре года в интеграторе я работал с git и EDT. Git после хранилища полюбил сразу: видно, кто и что менял. С EDT сложнее: тормозит, ошибки при обновлении ERP, автономный сервер внутри него работает только с файловой базой. На новой работе команда захотела перейти на git, я развернул EDT, и оно на второй день разрушило проект при загрузке расширения. Тогда я решил дать команде git с привычным Конфигуратором и инструмент, который за минуту доносит коммит до базы через ibcmd, вместо получасовой загрузки из файлов. На новой работе разрешили ИИ, и я написал это приложение с его помощью: от чтения документации и первого ТЗ до идей в электричке. Впервые за годы снова почувствовал себя творцом, а не закрывателем задач. По дороге приросли выгрузка, объединение и проверка конфигурации по коммитам, YAxUnit и режим MCP-сервера. В статье: схемы, скриншоты, грабли и честный список ограничений. Ссылки пока нет: хочу понять, нужно ли это кому-то, кроме меня.

03.09.2026    9924    KatanaDragon511    28    

37

Инструменты администратора БД Инструментарий разработчика Тестирование QA Системный администратор Программист Стажер 1С:Предприятие 8 Бесплатно (free)

В экосистеме 1С давно живут сотни инструментов: от Конфигуратора и Хранилища до систем тестирования, мониторинга, интеграции и CI/CD. Я собрал их в Ландшафт технологий, а теперь добавляю данные о реальном использовании. Рассказываю, как устроена карта, что показал первый опрос и почему в новой волне особенно нужны администраторы, аналитики и тестировщики.

01.09.2026    1850    mrXoxot    6    

24

DevOps и автоматизация разработки Мониторинг Тестирование QA Программист 1С:Предприятие 8 Бесплатно (free)

Платформа 1С давно вышла за рамки учетных систем. Сегодня это полноценная среда для создания сложных, высоконагруженных и распределенных приложений. А значит, и стек технологий современного разработчика кардинально изменился. Систематизируем весь инструментарий, который превращает 1С-программиста в инженера: от EDT и Git до автотестов на YAxUnit, контейнеризации приложений в Docker, мониторинга в Prometheus и организации шины данных на Kafka. Разберемся, зачем каждый инструмент нужен, как он вписывается в жизненный цикл разработки и с чего начать его внедрение.

25.08.2026    19984    mrXoxot    53    

81

HighLoad оптимизация Тестирование QA Программист 1С 8.3 Бесплатно (free)

Шесть внешних отчётов на боевой базе крупной сети переписали за неделю. По секундомеру ускорились четыре, в акт пошли три: у одного отчёта минус тринадцать процентов оказались выбросом нагрузки прода, а не эффектом кода. Поймал это чередующийся замер до/после в одном окне, обычные три прогона с метрикой "минимум" показывали ускорение уверенно. Дальше в тексте: почему построчная сверка выхода ломается ровно на тех правках, ради которых её заводят; из чего собирается повторяемый слепок результата и почему главную работу в нём делает нормализация, а хеш только сигнализация; где слепок не берётся вовсе и его заменяет по-колоночная сверка; чем проверять пересчёт итогов, чистку данных и операции с кластером. Отдельно - гипотеза, которую замер отклонил, и честный счёт, во что вся эта дисциплина обходится.

21.08.2026    1115    nedomolkov.ivan    0    

0

Тестирование QA Программист Бесплатно (free)

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

17.08.2026    940    user2181343    0    

1

Тестирование QA Программист 1С 8.3 Россия Бесплатно (free)

Написать тест на 1С несложно. Дорого стоит привести базу в состояние, где прогон вообще стартует: семь шагов, каждый ломает запуск молча — без ошибки, без записи в журнале. И эту цену платит заново каждый новый человек на проекте. Разбираю молчаливый отказ окружения как класс проблем, показываю, почему его не закрывают ни документация, ни скрипт развёртывания, и предлагаю решение — фиксацию состояния в артефакте с машинно-проверяемым критерием приёмки. Подход проверен на сквозной задаче (первая задача экзамена «1С:Специалист по платформе» с юнит- и функциональными тестами), а затем перенесён на пул тестовых баз с типовыми конфигурациями. Отдельно — каталог симптомов и их настоящих причин, который пригодится независимо от инструментария.

13.08.2026    1272    chagbig    1    

0

Тестирование QA Программист Бесплатно (free)

Разбираем, как в крупных компаниях регуляторные требования, постмортемы и внутренние ограничения постепенно превращаются в многоуровневую систему инструкций, в которой разработчику все сложнее понять, что и когда нужно проверить. Показываем opensource-сервис внешних проверок для GitLab, который автоматизирует часть этой бюрократии и сводит результат к понятному сигналу: зеленое – все в порядке, красное – нужно обратить внимание на конкретное требование. Объясняем, как такие проверки помогают «сдвинуть влево» контроль задач и снизить риск отказа во внедрении задачи в последний момент перед релизом. А заодно смотрим, может ли связка Autumn + «Вино» + немного разработческого энтузиазма превратить обязательные инструкции в инструмент, который команда сама захочет развивать.

12.08.2026    1144    Golovanoff    2    

4

Поиск данных Тестирование QA Программист 1С 8.3 1С 8.5 Бесплатно (free)

Как мы пришли к Юнит-тестированию и почему стоит его использовать. Использование универсальных тестов для проверки работы IS MagicInput в вашей конфигурации.

16.07.2026    2313    Evg-Lylyk    2    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ivanov660 4983 11.12.18 17:26 Сейчас в теме
Хорошая статья, молодец.
Выдели только отдельно, что эта компонента является частью Фреймворка "Тестирование 3.0".
2. Alien_job 193 11.12.18 17:48 Сейчас в теме
А кнопками конфигуратора тоже можно так счелкать?
3. ivanov660 4983 11.12.18 18:30 Сейчас в теме
Можно.
Но есть некоторые особенности, которые зависят от целевого приложения.
Чем хуже приложение поддерживает api automation ui, тем больше придется управлять мышкой (позиционировать внутри элемента интерфейса).
4. gaglo 12.12.18 14:02 Сейчас в теме
(3) Как узнать, "насколько хуже" приложение поддерживает api automation ui? Проверен ли ui на совместимость с конфигураторами разных версий ? Или это надо спрашивать про весь фреймворк? Вообще какие ограничения, несовместимости, и т.п.?
На testingtool.ru ходил, за пять минут ни слова про ограничения не нашел, только про возможности...
5. ivanov660 4983 12.12.18 15:22 Сейчас в теме
(4)
1. Зависит от поставщика ПО и определяется опытным путем.
2. В наши задачи не входит тестирование конфигураторов разных версий, т.к. автоматизацию тестирования мы нацеливаем на режим предприятия. (Оптимальный api для 1С это автоматизированное тестирование от 1С для управляемых форм)
3. Как выглядит работа с майкрософт api (в двух словах):
а) есть интерфейс автоматизации тестирования от майкрософта (смотрите википедию там детальнее)
б) если приложение полностью поддерживает его, то мы можем достучаться до каждого элемента интерфейса - получить его свойства (положение, активность, текстовое содержимое и др.), выполнить типовые действия (нажатие кнопки, открытие списка, переключение чекбокса и др.)
в) если же не поддерживает или не полностью, то мы не можем нажать кнопки через этот api или не видим состав элементов вообще.
4. Увидеть состав и описание свойств элемента (проверить "совместимость") можно, к примеру, через специальные инструменты (UISpy)
5. Относительно 1С. Мы проверяли интерфейс управляемых форм. Результат следующий:
а) Состав объектов и свойства доступны практически все, кроме "Поля табличного документа"
б) Действия над кнопками и флажками поддерживаются
в) С активными элементами выпадающих списков и другими элементами (выбрать из списка, раскрыть и др.) необходимо использовать "хук" управление мышкой - позиционирование внутри UI элемента управления и выполнить нажатие. В этом случае приложение через враппер для мышки будет перемещать курсор к элементу и выполнять команду нажатия.
6. Makushimo 160 14.12.18 10:34 Сейчас в теме
(5)
Оптимальный api для 1С это автоматизированное тестирование от 1С для управляемых форм

обычные формы в обычном приложении получается тестировать не получится?
7. ivanov660 4983 14.12.18 12:42 Сейчас в теме
(6)
1. получится тестировать обычные формы, используйте тип api: "Automation UI", как в примере.
2. под оптимальным api от 1с я имел ввиду следующее: отработан (уже 3 года используем), создавать сценарии сейчас проще, удобнее, поддержка доступна всего функционала.
3. сейчас мы поддерживаем три api:
1c автоматизированное тестирование - для управляемых форм от 1С
Automation UI - для любых десктопных приложений под Windows.
Selenium - для тестирования приложений в браузерах (chrome, ie, ff, opera) под windows.
4. функционал под два новых api сейчас отрабатывается и улучшается.
5. если будут вопросы или проблемы пишите в issues на (https://github.com/ivanov660/TestingTool-3)
9. Alien_job 193 19.12.18 17:06 Сейчас в теме
(3)
Можно
Не получилось
Прикрепленные файлы:
11. ivanov660 4983 19.12.18 18:33 Сейчас в теме
(9)
1. Посмотрю, попробую сказать в чем проблема может быть.
2. Для записи нажатий мышки используется hook, поэтому если у вас сильно ограничены права, то он может не срабатывать. В этом случае поможет запуск winautomation в административном режиме.
8. gaglo 19.12.18 13:32 Сейчас в теме
В наши задачи не входит тестирование

Ну и на том спасибо...
10. ivanov660 4983 19.12.18 18:27 Сейчас в теме
(8)зачем вырезаете из контекста?
1. Тестировать работоспособность своих приложений должны сами разработчики - в данном случае специалисты 1с. (если они к нам обратятся, то мы сможем помочь в определенной степени)
2. Мы предлагаем БЕСПЛАТНО инструмент и методологию
28. gaglo 20.12.18 15:51 Сейчас в теме
(10) Да чо так обижаться-то? Я понял. (?) Не согласны - переформулируйте ответ.
1. Конфигураторы не проверяем, поскольку они очень смутно относятся к задаче тестирования готовых приложений 1С.
2. Приложения на управляемых формах поддерживаются почти полностью (см. ответ (5) про ограничения)
3. Обычные формы должны поддерживаться с типом api: "Automation UI", но их мы не проверяли, поскольку несовременно.
4. Поскольку мы предлагаем БЕСПЛАТНО инструмент и методологию, их несовместимость с конкретными задачами и/или пользователями каждый проверяет сам на себе.

5. Это уже от себя. Вырезал, потому что цитировать полный контекст не умею... Или много места займет.
29. ivanov660 4983 20.12.18 18:59 Сейчас в теме
(28)
1. Предыдущее замечание, на мой взгляд, довольно провокационное.
2. Судя по расшифровке, вы поняли мысль.
Однако, внесу замечание технического характера - универсальных механизмов тестирования UI интерфейса как черного ящика нет. Если взять другие инструменты, к примеру от smart bear Test Complete, то принцип и возможности аналогичные. Поэтому обещаний и гарантий, что решатся все проблемы не даем.
12. antz 20.12.18 11:17 Сейчас в теме
Не пашет(

win10 64 бит.

И ругается еще: "Режим менеджера тестирования не доступен. Большая часть функционала будет не доступна!"
Прикрепленные файлы:
13. ivanov660 4983 20.12.18 12:44 Сейчас в теме
(12)
1. Режим менеджера тестирования -это для api 1С. Надо будет пофиксить это сообщение для других типов api.
2. Запустите с режимом включения лога следующей командой (WinAutomationUI.exe -Port 8080 -StartWebServer -EnableLog) или через меню "Option->Enable log"
После этого должен сформироваться файл с логом в папке (WinAutomationUI *.txt), в который будут выводиться все сообщения отладочные.
Если проблема с установкой hook, то в сообщении лога должно появится "can't install hook". Это может являться ограничением в правах или блокировкой антивирусом.
3. Сообщите, по результатам отладки.
14. antz 20.12.18 12:59 Сейчас в теме
(13) Как-то то ловит, то не ловит. Вот сейчас поймала, но поймала только это. Может, калькулятор не той системы?
Прикрепленные файлы:
15. ivanov660 4983 20.12.18 13:11 Сейчас в теме
(14)
1) Попробуйте все же включить логирование и посмотреть в сообщениях наличия ошибок или исключений.
2) 10 винды под рукой нет, попробую развернуть на виртуалке и посмотреть что там происходит.
16. antz 20.12.18 13:23 Сейчас в теме
(15) А, лог забыл приложить. Там примерно такое:

20.12.2018 12:56:24: LogEvent: FilePath: C:\Users\Anton\Downloads\ExternalAutomationUI\WinAutomationUI.exe/www/rest.html
20.12.2018 12:56:26: LogEvent: Калькулятор ApplicationFrameTitleBarWindow Window
20.12.2018 12:56:26: LogEvent: el_window_p Калькулятор ApplicationFrameTitleBarWindow Window
20.12.2018 12:56:26: LogEvent: el_window_main_p Калькулятор ApplicationFrameWindow Window
20.12.2018 12:56:34: LogEvent: new Client
20.12.2018 12:56:34: LogEvent: GET /rest.html?&Operation=record_stop&api=Automation%20UI HTTP/1.1
Host: localhost:8080
User-Agent: 1C+Enterprise/8.3
Accept: */*
21. ivanov660 4983 20.12.18 13:58 Сейчас в теме
(16) Судя по логу, запись идет: el_window_p и el_window_main_p это найденный элемент и окно приложения.
При ошибках будет выводится сообщение об ошибке и стек вызовов.

rest.html?&Operation=record_stop&api=Automation%20UI - отвечает за команды передаваемые врапперу из 1С, завершить запись и api Autoamtion UI

Есть еще вариант записи, вне 1С. Если открыть браузер и перейти на вкладку "record", то можно через браузер начать запись и завершить в обход (приложения 1С).
17. antz 20.12.18 13:28 Сейчас в теме
(15) На 1с-ном калькуляторе взлетело)
18. antz 20.12.18 13:35 Сейчас в теме
(15) Сценарий записал, но не запускает. Пишет "Режим менеджера тестирования не доступен. Большая часть функционала не доступна!"
19. ivanov660 4983 20.12.18 13:51 Сейчас в теме
(18)
1. Еще раз сообщение "Режим менеджера тестирования не доступен. Большая часть функционала не доступна!" имеет смысл, только для api автоматизированное тестирование 1С.
2. Что значит не запускает? Должно что-то происходить: выдать сообщение, пройти по флажку, ошибку или еще что-то.
Убедитесь что выполнены следующие условия:
а) Используемый API: Automation UI
б) В списке процессов выбран калькулятор (у меня выглядит так 1cv8v 'Калькулятор') (если выбран с индексом 0, то система будет сама искать по наименованию и это может выполняться очень медленно)
в) В проекте выделены флажки все
г) Попробуйте нажать "стоп" прежде.
20. antz 20.12.18 13:56 Сейчас в теме
(19) Не запускает - значит пишет сообщение "Режим менеджера тестирования не доступен. Большая часть функционала не доступна!" и усе.
Прикрепленные файлы:
23. ivanov660 4983 20.12.18 14:04 Сейчас в теме
(20)попробуйте нажмите кнопку "стоп" и затем "запуск"
24. antz 20.12.18 14:11 Сейчас в теме
(23) ага, после стопа пошло, правда теперь ругается "Current element = null. Can't find it." Окошко калькулятора не закрывал.
25. ivanov660 4983 20.12.18 14:19 Сейчас в теме
(24) Это сообщение говорит о том что он не нашел какой-либо элемент. Причиной может быть: не тот процесс, нет больше того процесса, изменились динамически свойства элемента.
Могу посоветовать выполнить процедуру еще раз с самого начала.

P.S. Думаю, следует в сообщение о проблемах поиска для этого api выдать дополнительную информацию по свойствам поиска.
26. antz 20.12.18 14:28 Сейчас в теме
(25) Спотыкается на первом шаге "НайтиОсновноеОкно "Калькулятор", хотя чего его искать - вот же оно висит)
Попробовал все записать по новой - не записывает ни через 1С, ни через браузер, выдает "[]". Ладно, попозже продолжу, а то работа)
27. ivanov660 4983 20.12.18 14:53 Сейчас в теме
(26) На последок, иногда hook может зависнуть. Помогает перезапуск win*.exe.
30. AlexKo 102 22.12.18 06:58 Сейчас в теме
(26)
все записать по новой - не записывает ни через 1С, ни через браузер, выдает "[]". Ладно, попозже продолжу, а то работа)


Возможно Вы переоткрывали калькулятор?
Если происходит проблема, точно поможет закрытие WinAutomationUI/ открытие заново и повторное открытие обработки менеджера тестирования.
22. ivanov660 4983 20.12.18 14:00 Сейчас в теме
(20) попробуйте нажмите кнопку "стоп" и затем "запуск"
Для отправки сообщения требуется регистрация/авторизация