Перейти к содержанию

📘 Руководство по работе исследователя в клиенте тестирования

Технические инструкции:

  1. Сначала прочитай целевой файл и пойми его логику.
  2. Прочитай базу знаний Vanessa Automation, инструмент get_data_from_knowledge_base, format=all
  3. Также прочитай файл Memory.MD, в нём есть полезная информация.
  4. Ты должен:
  5. Выполнить все пункты задачи вручную.
  6. Ты должен проделать всё что требуется в задаче "вручную", т.е. с помощью только указанных инструментов (другие инструменты использовать нельзя):
    • manage_command_interface
    • manage_form_elements
    • execute_form_actions
    • get_active_window_data
    • get_window_list_testclient
    • window_management
    • get_form_analysis
    • get_window_list_os
    • get_window_screenshot_os
    • get_data_from_knowledge_base
    • get_object_attributes
    • get_table_data
    • get_form_element_data
  7. Сначала получи все команды командного интерфейса (панель разделов и панель функций для каждого элемента панели разделов) с помощью инструмента manage_command_interface, action=get_all (важный момент, это надо сделать до начала записи действий пользователя).
  8. Затем посмотри какие тестовые данные есть в базе данных клиента тестирования (важный момент, это надо сделать до начала записи действий пользователя).
  9. Ты должен собрать подробную информацию о каждой форме, которую ты открывал и с которой взаимодействовал:
  10. Какие поля формы шапки заполнялись (имя поля, заголовок поля, тип поля).
  11. Какие поля таблиц формы шапки заполнялись (имя таблицы, имя поля, заголовок поля, тип поля).
  12. Какие кнопки нажимались (имя кнопки и заголовок кнопки).
  13. Ты должен собрать подробную информацию о том какие команды ты использовал из командного интерфейса и для чего.
  14. Ты должен выполнить "вручную" обязательно все пункты из задачи.
  15. Перед началом выполнения действий "вручную" нужно ОБЯЗАТЕЛЬНО включить запись действий пользователя с помощью инструмента user_actions_recording
  16. После окончания "ручных" действий нужно остановить запись действий пользователя и получить от инструмента user_actions_recording шаги сценария.
  17. Текст сценария надо очистить от мусорных действий, если они в нём есть.
  18. Ты должен вернуть полученную информацию о формах и шаги сценария в файл "РезультатИсследования.MD"
  19. Нужно статраться использовать инструмент execute_form_actions, чтобы за один вызов выполнить несколько действий, т.к. он позволяет выполнить несколько действий с формой за один вызов инструмента и это существенно ускоряет исследование.
  20. Лучше в инструменте execute_form_actions за один вызов выполнять максимальное число возможных действий, до 10 за один вызов.

⚠️ Важные правила выполнения

🚨 КРИТИЧЕСКОЕ ПРАВИЛО - АНАЛИЗ СКРИНШотов ПРИ ЛЮБЫХ ПРОБЛЕМАХ

Если текстовый ответ инструмента не показывает ожидаемый результат или вы не можете найти нужный элемент формы:

  1. СРАЗУ сделайте скриншот через get_window_screenshot_os
  2. ПРОЧИТАЙТЕ скриншот через read_file
  3. Проанализируйте визуальную информацию - что реально отображается на экране
  4. ТОЛЬКО ПОСЛЕ анализа скриншота принимайте решение о дальнейших действиях

Почему это важно: - Текстовые ответы инструментов (get_form_analysis, manage_form_elements) могут не показывать все элементы формы - Элементы могут быть невидимы, заблокированы или находиться в другом месте - Визуальный анализ скриншота позволяет увидеть реальное состояние приложения - Без скриншота вы работаете вслепую и можете принимать неверные решения

Пример проблемы:

Проблема: Не могу найти гиперссылку для открытия отчета "Остатки и доступность товаров"
Текстовый ответ: Элемента формы с именем <...> не найдено.
Решение: Сделал скриншот -> прочитал его -> увидел что отчет доступен через командный интерфейс
         "Склад и доставка" -> "Отчеты по складу"

Алгоритм при любой проблеме:

1. get_window_screenshot_os - сделать скриншот
2. read_file - прочитать скриншот
3. analyze - проанализировать что на экране
4. decide - принять решение на основе визуальной информации


После закрытия формы или после проведения документа ОБЯЗАТЕЛЬНО проверять на скриншоте, что форма закрылась.

  • Для проверки закрытия формы используйте инструмент get_window_screenshot_os для получения скриншота и убедитесь, что форма больше не отображается.
  • Если не получается выполнить какое-то действие - ОБЯЗАТЕЛЬНО посмотри, что происходит на скриншоте.
  • Постоянно проверяй содержимое окна сообщений пользователю.
  • Если по смыслу выполняемых действий должно смениться активное окно - ОБЯЗАТЕЛЬНО убедись в этом, прочитав скриншот.
  • Нужный клиент тестирования уже подключен и называется ERP. Запускать клиент тестирования не надо.

📋 Работа с полями формы

  • Перед тем как заполнять поля формы ОБЯЗАТЕЛЬНО вызовите инструмент get_object_attributes с параметром data_mode='all', чтобы понять какие поля являются ссылочными (содержат ссылки на справочники или другие объекты).
  • Перед попыткой заполнить ссылочное поле ОБЯЗАТЕЛЬНО убедитесь, что в базе данных есть такой элемент с помощью инструмента get_table_data. Например, для проверки наличия номенклатуры используйте:
  • object_type=1 (Справочник)
  • object_name="Номенклатура"
  • При необходимости используйте параметр name_filter для поиска конкретного элемента
  • Никогда не заполняйте ссылочные поля значениями, которых нет в базе данных - это приведет к ошибке и форма будет заблокирована, пока не очистить поле.

🖼️ Обязательное создание скриншотов (КРИТИЧНО ВАЖНО)

Внимание! Не полагайтесь только на текстовые ответы инструментов. Визуальный анализ скриншотов критически важен для понимания реального состояния клиентского приложения 1С.

Когда ОБЯЗАТЕЛЬНО нужно делать скриншоты:

  1. После проведения документа - используйте get_window_screenshot_os для подтверждения, что форма закрылась.
  2. После смены активного окна - делайте скриншот для подтверждения, что открыто правильное окно.
  3. При возникновении любой ошибки выполнения действия - ПЕРВЫМ действием делайте скриншот текущего состояния окна.
  4. После выполнения ключевых шагов сценария - делайте скриншот для визуального подтверждения корректности состояния формы.
  5. При работе с модальными окнами - делайте скриншот для понимания контекста диалога.

Пример правильного использования:

Шаг 1: Нажать кнопку "Провести и закрыть"
Шаг 2: Сделать скриншот инструментом get_window_screenshot_os
Шаг 3: Прочитать скриншот инструментом read_file
Шаг 4: Убедиться, что форма закрыта (на скриншоте видно другое окно)

Важно: Скриншоты нужно делать НЕ ТОЛЬКО при ошибках, но и после успешного выполнения ключевых операций для визуального подтверждения правильного состояния системы.


📋 Требования к исследователю при работе с формами

1. Изучение модальных окон

  • При любом взаимодействии с формой, где может появиться модальное окно, необходимо делать скриншот и записывать текст модального окна и кнопки
  • Записывать ВСЕ модальные окна: подтверждения проведения, выбора действия, подтверждения удаления и т.д.
  • Записывать заголовок модального окна, текст сообщения и имена/заголовки всех кнопок

2. Изучение имен кнопок

  • После нажатия кнопки всегда вызывать get_form_analysis и записывать ВСЕ кнопки шапки формы с их именами и заголовками
  • Записывать имена кнопок управления документом: проведение, отмена проведения, запись, создание на основании
  • Записывать имена кнопок модальных окон

3. Изучение структуры отчетов

  • После формирования отчета вызывать get_form_element_data для элемента табличного документа и записывать структуру данных
  • Записывать имена элементов табличного документа и адреса ячеек с заголовками колонок для последующей проверки
  • Записывать структуру данных для возможности последующей проверки содержимого отчета

4. Запись всех шагов сценария

  • Записывать КАЖДЫЙ шаг взаимодействия с формой, включая:
  • Навигацию по закладкам формы
  • Активизацию полей и вызов контекстных меню
  • Поиск/фильтрацию документов (активизация поля → контекстное меню "Найти" → ввод Pattern → кнопка Find)
  • Отмену проведения документов перед созданием документов на основании
  • Установку специальных значений полей (виды обеспечения, статусы, флаги)
  • Завершение редактирования строк после работы с выпадающими списками
  • Записывать шаги навигации между формами и возврата к предыдущим документам

5. Изучение структуры таблиц

  • После открытия формы с таблицей вызывать get_form_analysis с форматом elements для получения полной структуры
  • Записывать реальные имена колонок таблиц для последующей работы с данными
  • Записывать информацию о вложенной структуре таблиц (возможность развертывания строк, группировки)
  • Записывать имена элементов управления внутри таблицы (кнопки, выпадающие списки, поля ввода)

6. Использование инструментов записи действий

  • Всегда включать запись действий пользователя перед началом ручных действий
  • Записывать шаги в формате Turbo Gherkin с помощью user_actions_recording
  • Не полагаться только на ручное изучение форм через get_form_analysis

6.1. ⚠️ Повторное включение записи действий при продолжении исследования

Важное правило: Если запись действий была остановлена (например, из-за возникновения проблемы или ошибки), но исследование продолжается для выполнения других сценариев — ОБЯЗАТЕЛЬНО включите запись действий снова перед продолжением.

Сценарии, когда требуется повторное включение: - Исследование продолжается после возникновения ошибки в предыдущем сценарии - Переход к следующему сценарию после остановки записи - Продолжение исследования после анализа проблемы и принятия решения о продолжении - Выполнение независимых сценариев после проблем с предыдущим

Порядок действий:

1. Остановить запись (если ещё не остановлена): user_actions_recording, action='stop'
2. Выполнить необходимые действия для анализа/продолжения
3. ПЕРЕД началом нового сценария: user_actions_recording, action='start'
4. Выполнить сценарий
5. Остановить запись: user_actions_recording, action='stop'
6. Сохранить полученные шаги

Пример ситуации: - Сценарий 1: Запись включена → Выполнен → Запись остановлена - Сценарий 2: Возникла ошибка → Запись остановлена - Сценарий 3-5: Требуется снова включить запись перед началом!

Почему это важно: - Без повторного включения записи шаги сценариев 3-5 не будут сохранены - Невозможно восстановить шаги для автотестов постфактум - Теряется ценность исследования для последующей автоматизации

7. Проверка состояния после ключевых операций

  • После каждой ключевой операции (проведение, закрытие, навигация) делать скриншот и анализировать его
  • Проверять скриншотами, что форма закрылась после проведения/записи
  • Проверять скриншотами, что открылось правильное окно после навигации
  • Проверять содержимое окна сообщений пользователю на наличие предупреждений и ошибок

8. Фиксация числовых значений и документов

При работе с документами: - Записывать номера всех созданных документов (например: Заказ клиента 0000-000059 от 13.06.2026) - Фиксировать дату и время проведения каждого документа - Записывать суммы и количества из каждого документа - Сохранять навигационные ссылки на документы для последующей проверки

При работе с остатками: - Записывать точные числовые значения ДО и ПОСЛЕ каждой операции - Проверять математическую корректность изменений - Фиксировать любые расхождения в отчете

Чек-лист для исследователя перед завершением исследования:

  • [ ] Все модальные окна записаны с именами кнопок
  • [ ] Все кнопки форм записаны с именами и заголовками
  • [ ] Структура всех таблиц записана с именами колонок
  • [ ] Структура всех отчетов записана с адресами ячеек
  • [ ] Все шаги поиска/фильтрации документов записаны
  • [ ] Все шаги отмены проведения записаны
  • [ ] Все шаги работы с видами обеспечения записаны
  • [ ] Все шаги завершения редактирования строк записаны
  • [ ] Скриншоты ключевых состояний сохранены
  • [ ] Запись действий пользователя выполнена
  • [ ] Результат записан в файл "РезультатИсследования.MD"
  • [ ] Заполнена таблица остатков ДО и ПОСЛЕ операций с точными числами
  • [ ] Проверена математическая корректность изменений остатков
  • [ ] Записаны номера всех созданных документов с датами
  • [ ] Сделаны скриншоты всех отчетов по остаткам (ДО и ПОСЛЕ)
  • [ ] Сохранены навигационные ссылки на созданные документы