📘 Руководство по работе исследователя в клиенте тестирования¶
Технические инструкции:¶
- Сначала прочитай целевой файл и пойми его логику.
- Прочитай базу знаний Vanessa Automation, инструмент get_data_from_knowledge_base, format=all
- Также прочитай файл Memory.MD, в нём есть полезная информация.
- Ты должен:
- Выполнить все пункты задачи вручную.
- Ты должен проделать всё что требуется в задаче "вручную", т.е. с помощью только указанных инструментов (другие инструменты использовать нельзя):
- 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
- Сначала получи все команды командного интерфейса (панель разделов и панель функций для каждого элемента панели разделов) с помощью инструмента manage_command_interface, action=get_all (важный момент, это надо сделать до начала записи действий пользователя).
- Затем посмотри какие тестовые данные есть в базе данных клиента тестирования (важный момент, это надо сделать до начала записи действий пользователя).
- Ты должен собрать подробную информацию о каждой форме, которую ты открывал и с которой взаимодействовал:
- Какие поля формы шапки заполнялись (имя поля, заголовок поля, тип поля).
- Какие поля таблиц формы шапки заполнялись (имя таблицы, имя поля, заголовок поля, тип поля).
- Какие кнопки нажимались (имя кнопки и заголовок кнопки).
- Ты должен собрать подробную информацию о том какие команды ты использовал из командного интерфейса и для чего.
- Ты должен выполнить "вручную" обязательно все пункты из задачи.
- Перед началом выполнения действий "вручную" нужно ОБЯЗАТЕЛЬНО включить запись действий пользователя с помощью инструмента user_actions_recording
- После окончания "ручных" действий нужно остановить запись действий пользователя и получить от инструмента user_actions_recording шаги сценария.
- Текст сценария надо очистить от мусорных действий, если они в нём есть.
- Ты должен вернуть полученную информацию о формах и шаги сценария в файл "РезультатИсследования.MD"
- Нужно статраться использовать инструмент execute_form_actions, чтобы за один вызов выполнить несколько действий, т.к. он позволяет выполнить несколько действий с формой за один вызов инструмента и это существенно ускоряет исследование.
- Лучше в инструменте execute_form_actions за один вызов выполнять максимальное число возможных действий, до 10 за один вызов.
⚠️ Важные правила выполнения¶
🚨 КРИТИЧЕСКОЕ ПРАВИЛО - АНАЛИЗ СКРИНШотов ПРИ ЛЮБЫХ ПРОБЛЕМАХ¶
Если текстовый ответ инструмента не показывает ожидаемый результат или вы не можете найти нужный элемент формы:
- СРАЗУ сделайте скриншот через
get_window_screenshot_os - ПРОЧИТАЙТЕ скриншот через
read_file - Проанализируйте визуальную информацию - что реально отображается на экране
- ТОЛЬКО ПОСЛЕ анализа скриншота принимайте решение о дальнейших действиях
Почему это важно: - Текстовые ответы инструментов (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С.
Когда ОБЯЗАТЕЛЬНО нужно делать скриншоты:¶
- После проведения документа - используйте
get_window_screenshot_osдля подтверждения, что форма закрылась. - После смены активного окна - делайте скриншот для подтверждения, что открыто правильное окно.
- При возникновении любой ошибки выполнения действия - ПЕРВЫМ действием делайте скриншот текущего состояния окна.
- После выполнения ключевых шагов сценария - делайте скриншот для визуального подтверждения корректности состояния формы.
- При работе с модальными окнами - делайте скриншот для понимания контекста диалога.
Пример правильного использования:¶
Шаг 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"
- [ ] Заполнена таблица остатков ДО и ПОСЛЕ операций с точными числами
- [ ] Проверена математическая корректность изменений остатков
- [ ] Записаны номера всех созданных документов с датами
- [ ] Сделаны скриншоты всех отчетов по остаткам (ДО и ПОСЛЕ)
- [ ] Сохранены навигационные ссылки на созданные документы