Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Функционал внешних событий (отладка внешних компонент, сканер ШК, выполнение кода) #2005

Merged
merged 15 commits into from
Jul 4, 2023

Conversation

Vovchik45
Copy link
Contributor

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

Добавлена система внешних события через каталог с файлами.

Суть решения: Через отдельный шаг запустить на стороне тестируемого приложения мониторинг папки с файлами в определённом формате. (файлы событий)

При появлении файла в определённом формате, тестируемое приложение выполняет одну из команд.

  1. 3 вида команды выполнения встроенного кода. Код будет выполнен даже когда интерфейс заблокирован модальным окном или окном с режимом "блокировать весь интерфейс"
  2. Эмуляция работы сканера штрихкода. Система сама находит первый подключений сканер штрихкода и эмулирует вызов внешнего события в модуле приложения.
  3. Эмуляция работы любой внешней компоненты, вызовом внешнего события модуля приложения. Внешние события от компоненты могут быть сгенерированы ванессой для отладки и тестирования работы 1С.

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

  • Для команд выполнения кода, в файл сериализуется в JSON значение переменной Результат (при наличии в коде)
  • Для команды эмуляции работы сканера штрихкода, возвращается значение эмулированного штрихкода
  • Для команды эмуляции вызова внешнего события формируется результат успешного вызова внешнего события.

Минусом данного решения является ожидание выполнение команды до 1 секунды и дополнительная нагрузка на тестируемое приложение в виде постоянного сканирования каталога с файлами.

Новые шаги:

  • И я запускаю мониторинг каталога "C:\temp" для внешних событий(Расширение)
  • И я Останавливаю мониторинг каталога внешних событий(Расширение)
  • И я эмулирую сканирование штрихкода БПО "4670003110011" через файл события (Расширение)
  • новые шаги выполнения встроенного кода
    • И я выполняю код встроенного языка на клиенте через файл события (Расширение)
    • И я выполняю код встроенного языка на сервере через файл события (Расширение)
    • И я выполняю код встроенного языка на сервере через файл события в привилегированном режиме (Расширение)
  • И я вызываю внешнее событие "Источник" с событием "Событие" с данными "Данные" через файл события (Расширение)
  • И я ожидаю "10" секунд результат обработки последнего события через файл и запоминаю результат в переменную "ИмяПеременной"(Расширение)

Данный функционал позволит выполнять код при открытом модальном окне, в том числе получение данных с тестируемого приложения.
Так же данный функционал откроет возможность вести разработку и отладку и функциональное тестирование на 1С систем которые используют внешние компоненты. Которые сложно-доступные во время тестирования. К примеру эквайринговые системы, системы мониторинга GPS и т.д.
А так же выполнить автоматизированное тестирование функциональности "Честный знак" в 1С.

@VACIBot
Copy link
Collaborator

VACIBot commented Jul 3, 2023

Нужно запустить тесты?

@Vovchik45 Vovchik45 changed the title Функционал внешних события (отладка внешних компонент, сканер ШК, выполнение кода) Функционал внешних событий (отладка внешних компонент, сканер ШК, выполнение кода) Jul 3, 2023
@Pr-Mex
Copy link
Owner

Pr-Mex commented Jul 3, 2023

run tests

@Pr-Mex
Copy link
Owner

Pr-Mex commented Jul 4, 2023

Спасибо!

@Pr-Mex Pr-Mex merged commit 20ef140 into Pr-Mex:develop Jul 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants