Помогите получить QTP для идентификации элемента управления - PullRequest
1 голос
/ 06 ноября 2008

Мы пытаемся использовать QTP (QuickTest Professional) для автоматического тестирования устаревшего приложения C ++.

Однако главное окно приложения состоит из нескольких ИДЕНТИЧНЫХ панелей. Каждая панель имеет уникальный заголовок.

Если я смотрю окно в Spy ++ (поставляется с DevStudio), я вижу:

+ Window <hwnd> "Window Title" taskwindowclass
  + Window <hwnd> "Panel A" childwindowclass
    + Window <hwnd> "OK" Button
  + Window <hwnd> "Panel B" childwindowclass
    + Window <hwnd> "OK" Button

В Object Spy QTP, однако, иерархия отображается как:

+ Window: Window Title
  + WinButton: OK

Это даже не показывает, что есть промежуточная панель.

Кто-нибудь знает способ получить окно "путь", чтобы идентифицировать каждый элемент управления? то есть элементы управления идентифицируются как:

Button A: "Window Title/Panel A/OK"
Button B: "Window Title/Panel B/OK"

1 Ответ

1 голос
/ 07 ноября 2008

Вы можете использовать описательное программирование для обхода карты объектов. QTP будет игнорировать объекты панели по умолчанию. Вы можете попытаться получить ссылку на объект панели динамически, а затем выполнить поиск в коллекции ChildObjects, чтобы найти кнопку ok. Другой вариант может состоять в том, чтобы просто добавить порядковый идентификатор к кнопкам ok.

  • Кнопка A: «Заголовок окна / OK index # 1»
  • Кнопка B: «Заголовок окна / OK №2»
...