Перейти к содержимому

Фотография

RibbonBar не распознается


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 RuLeZzz1987

RuLeZzz1987

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 12 декабря 2013 - 14:54

Есть RibbonBar, но не распознаются кнопки на нём. Есть возможность кликнуть только по координатам. В дереве Object Browserе обнаруживается только он сам, без компонентов. Как можно отойти от клика по координатам к нажатию кнопок? Приложение тесткомплитом воспринимается как открытое, но скомпилировано без debug информации. Спасет ли ситуацию debug инофрмация?
TestComplete 7.2
  • 0

#2 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 12 декабря 2013 - 14:55

Попробуйте Text Recognition
http://tctutorial.ru/ocr/ (там в конце он описывается).
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#3 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 12 декабря 2013 - 15:34

Зависит от того, из какой какую библиотеки компонентов этот RibbonBar брали разработчики.
Во-первых:
Есть риббоны, сделанные для WPF, WinForms, VCL (Delphi) и, наверняка, еще какие-нибудь.
Во-вторых:
TC старая версия. Если, например, интерфейс сделан в WPF для .NET >=4.0, 7-й TC с ним не работает (а это значит, что могут появиться проблемы и с другими компонентами).

Что попробовать:
1. Поиграться с настройками проекта. Попробуйте найти нужный компонент в ObjectMapping. Попробуйте добавить класс объекта в Open Applications -> MSAA и обновить ObjectBrowser. Иногда после таких манипуляций многое меняется в дереве объектов.
2. Если компонент полностью "рисованный", почему бы не поискать по картинкам (Regions.Find). Оно для этого и сделано, тогда абсолютные координаты уйдут из тестов.
  • 1

#4 RuLeZzz1987

RuLeZzz1987

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 13 декабря 2013 - 11:26

Попробовал Text Recognation. Распознаются только знаки припинания. Для другого приложения ( взял калькулятор, как в Вашем туториале ) тоже распознались лишь служебные символы и ни одной букву. Использую Win7, если это важно. ClearType тоже включал/отключал, на результаты не повлияло.

В Object Browser компонент распознается как Window("BCGPRibbonBar:3fab0000:8:10003:10", "Навигатор объектов", 1) Можно ли использовать для маппирования ClassName и искать окно по этому параметру, а не по WndClass?. С Object mapping данный объект не подошел по критериям ни к одному из найденных ribbonbarов. Добавлял в MSAA имя класса, кое-что поменялось в дереве, но желаемый результат так и не получил, кнопки на риббоне не распознались.
Проблем нет только с обычными кнопками. Со всеми остальными компонентами и возникают трудности в работе.

Поиск по региону даёт прямоугольник, из которого я могу передать координаты для клика, как я понял, если нет поправьте, пожалуйста.
P.S. С тесткомплитом лишь только знакомлюсь 2 недели. Заранее благодарю за ответы.
  • 0

#5 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 14 декабря 2013 - 08:19

У вас, похоже, Visual C++ MFC приложение с BCG Ribbon. Странно, что MSAA не помогло. Для их сэмпла BCGPMSOfficeDemo MSAA работает - надо добавить в MSAA класс BCGPRibbonBar*.

Прикрепленные файлы


  • 1

#6 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 14 декабря 2013 - 08:55

Еще вариант - попросить разработчиков сделать версию приложения с отладочной информацией. Такое приложение станет "открытым" (Open), и TestComplete сможет видеть в нем больше объектов, внутренние свойства и методы объектов. Тогда можно попробовать добавить ClassName вашего риббона в Object Mapping для стандартного Microsoft MFC RibbonBar (это теоретически должно сработать, потому что MS MFC контролы основаны на BCG контролах). После этого клики по риббону (теоретически) должны записываться специальными методами ClickItem, CheckItem и т.п.
  • 0

#7 RuLeZzz1987

RuLeZzz1987

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 17 декабря 2013 - 08:33

Всем спасибо за ответы. Проблема решилась, к сожалению не тем путем, которым хотелось бы.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных