TestingTool-3 icon indicating copy to clipboard operation
TestingTool-3 copied to clipboard

Ошибка в окне "Current main window = null. Can't find it."

Open ghost opened this issue 5 years ago • 5 comments

Опишите ошибку Создал простой действие создание организации, но при прогоне теста выходит ошибка "{ВнешняяОбработка.МенеджерСценарногоТеста.Форма.Модуль_ОбработкаДействийAutomationUI.Форма(187)}: Current main window = null. Can't find it."

Конфигурация Бухгалтерия Казахстана 2.0.31.2 Режим совместимости 8.2.13 Режим совместимости интерфейса 8.2

Платформа 8.3.13.1690

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

ghost avatar Aug 11 '20 07:08 ghost

Добрый.

  1. На сколько я понял, то вы хотите использовать интерфейс Automation UI.
  2. Данное сообщение говорит о том, что не найдено основное окно приложения. Если оно не найдено, то невозможно искать объекты внутри.
  3. С данной ошибкой мы тоже сталкивались. Попробуем улучшить поиск текущего окна в ближайшем исправлении.

Для того-чтобы окно успешно нашлось оптимально выполнить следующие рекомендации: a. Текст заголовка окна должен полностью соответствовать текущему заголовку - должно работать во всех случаях. b. Если вы используете поиск по части заголовка, к примеру, "Бухгалтерия предприятия*", тогда при поиске окна обязательно указывать PID тестируемого клиента.

  • в режиме записи на первой панели выбрать приложение (если вы нажимали кнопку запустить из панели записи)
  • в режиме теста, необходимый PID определяется автоматически, когда происходит запуск тестируемых клиентов.
  • рекомендую попробовать отработать проблему при запуске Калькулятора или Блокнота. Если все же не получится по рекомендациям выше напишите сюда.
  1. С работой приложений 1С на обычных формах существует достаточно подводных камней. Они связаны с тем что 1С не полностью поддерживает стандарт Microsoft Automation UI, и для созданных ими элементов очень мало маркеров (класс, наименования и т.п.) Поэтому мы специально добавили возможность искать элементы по пути - xPath. Этот путь относительно центрального окна и позволяет указывать через элементы .//window/pane[1]/pane[13]/pane[1]/pane[3]/pane[1]/pane[1] можно вставлять * - будет значить любой, главное чтобы в конце совпал путь до элемента .//window/pane[1]/pane[13]/pane[*]/pane[3]/pane[1]/pane[1]
  2. Используйте нажатия кнопки мыши а) типовое click - позволяет отправить типовую команду на элемент б) если не работает пробуйте click (simulate) - использует принудительную отправку (симуляцию) нажатия кнопки в) если не работает то последний вариант click% выполняет перемещение мышки в область % относительно внутренних размеров элемента управления и нажимает (т.е. двигает курсор в позицию)
  3. Если есть еще вопросы, постараюсь ответить, мы в основном используем API 1C Automation в 90% случаев. Поэтому будет интересно пообщаться.

ivanov660 avatar Aug 19 '20 08:08 ivanov660

Мы доработали функционал поиска основного окна, в случае, когда не указан PID тестируемого клиента. Можете скачать обновление с адреса http://testingtool.ru/external-user-interface-testing-tool-winautomationui/

ivanov660 avatar Aug 19 '20 12:08 ivanov660

@asisdes я закрываю тикет? есть еще вопросы?

ivanov660 avatar Aug 25 '20 11:08 ivanov660

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

asisdes avatar Aug 25 '20 11:08 asisdes

  1. Ок. Ждем.
  2. Сейчас мы оформляем документацию. В процессе оформления часть по Менеджеру сценарного теста: Фреймворк Тестирование 3 - Раздел Менеджер сценарного теста.pdf
  3. Если будут вопросы спрашивайте

ivanov660 avatar Aug 25 '20 14:08 ivanov660