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

Фотография

Как идентифицировать Custom User Controls?


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

#1 borys

borys

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Борис Лебеда

Отправлено 04 июля 2006 - 11:15

Я работаю над приложением написаным в основном на VB. Там существуют контролы, которые QTP при записи скриптов не может идентифицировать :(
Существует ли возможность как-то поколдовать над ними, что бы они идентифицировались.

Существует ли единый интерфейс которого QTP ожидает от контрола
  • 0

#2 globe

globe

    Постоянный участник

  • Members
  • PipPipPip
  • 216 сообщений
  • ФИО:Богданова Ирина
  • Город:Москва


Отправлено 04 июля 2006 - 11:34

А вы не пробовали читать статью Введение в автоматизированное тестирование с использованием Mercury QuickTest Pro в вопросах и ответах?

Вопрос: Что делать, если элемент интерфейса тестируемого приложения распознаётся как "WinObject", несмотря на то, что является более специализированным элементом (таким как кнопка, drop-down list, edit box, и т.п.


  • 0

#3 borys

borys

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Борис Лебеда

Отправлено 04 июля 2006 - 13:37

Это первое что я сегодня прочитал

Там нет ответа на мой вопрос. Там есть ответ на вопро: "Как правильно настроить распознавание объектов в QTP с помощью настроек Object Identification?"
Меня же интересует рекоммендации, как переделать уже имеющиеся контролы, что бы они были доступны для идентификации
  • 0

#4 Mike

Mike

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 1 079 сообщений
  • Город:Москва

Отправлено 04 июля 2006 - 13:57

Борис, Вы не там читали. Там описано именно то, как научить QTP распознавать custom объекты.

Цитирую (картинки, понятно, опущены):

Вопрос: Что делать, если элемент интерфейса тестируемого приложения распознаётся как "WinObject", несмотря на то, что является более специализированным элементом (таким как кнопка, drop-down list, edit box, и т.п.

Ответ: Необходимо настроить распознавание для этого объекта (точнее, для всех объектов с тем же значением свойства native class). Для этого

Вызываем диалог Object Identification: Tools->Object Identification:



Рис.2а: Настройка распознавания объектов нестандартных классов — последовательность действий.

Выбираем Environment->Standard Windows
Жмём на кнопку User Defined...
Вручную заполняем значение поля Class name…
… либо нажав на кнопку с изображением руки указываем нужный нам элемент интерфейса (тогда поле Class name заполнится автоматически)
Выбираем желаемый тип элемента интерфейса
Жмём Add
Жмём OK



Рис.2б: Настройка распознавания объектов нестандартных классов — результат.

В диалоге Object Identification выбираем добавленный класс и изменяем свойства его распознавания (если нужно)
Жмём OK


К сожалению, там проблемка с форматированием небольшая - вопрос не выделен болдом.
  • 0
Best regards,
Майк.

#5 Tanya

Tanya

    Jobs manager

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Кривец Татьяна
  • Город:г. Киев

Отправлено 05 июля 2006 - 09:41

Мучаюсь над той-же проблемой.

Статья Mike изучена, наверное, наизусть (спасибо за нее большое)
Вот только результат остается таким-же

Подробности: .Net -application (использующее Framework 2.0 and Infragistics)
QTP 9.0. + .NEt Add-in

Так вот - все Infragistic-controls записывает как SwfObject, будь то кнопки, тулбар, деревья. (правда, вот что странно - таблицу понимает (!!))

Записывает строку вот так:

SwfWindow("Wireless Standard - Store").SwfWindow("Create New Carrier").SwfObject("Create").Click 40,12 - это клик на кнопке


Добавили эту кнопку в Object Identification - Object Spy определил ее как infragistics.win.misc.ultrabutton. Методы - NativeClass и Test - Mondatiry,
Windows id - Assistive.


Но - записывает по прежнему - строка приведена выше.
Что я не так делаю ???
  • 0

#6 Tanya

Tanya

    Jobs manager

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Кривец Татьяна
  • Город:г. Киев

Отправлено 05 июля 2006 - 09:49

Почему-то кажется, что поскольку приложение на .Net, qTP видит и оперделяет только .Net объекты, а то, что добавлено в Standard Windows Enwironment - попросту игнорируется.

Может такое быть??
  • 0

#7 Mike

Mike

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 1 079 сообщений
  • Город:Москва

Отправлено 05 июля 2006 - 11:36

Так и есть. С .Net этот фокус (маппинг custom классов контролов) не работает. Увы.
  • 0
Best regards,
Майк.

#8 Tanya

Tanya

    Jobs manager

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Кривец Татьяна
  • Город:г. Киев

Отправлено 05 июля 2006 - 11:57

А у меня уж было появилась надежда.

Дело в том, что я отключила .Net Add-in и попробовала снова записать.
На сей раз объекты определились как WinObject, a не как SwfObject.

Дабавленная в Object Identification кнопка также определилась как WinObject.

Я подумала, что если отключены add-in, она(кнопка) должна появиться кнопкой а не WinObject.
  • 0

#9 Tanya

Tanya

    Jobs manager

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Кривец Татьяна
  • Город:г. Киев

Отправлено 05 июля 2006 - 13:15

Есть! Работает!

Люди, использующие .Net -application с Infragistics control!!
Есть волшебная тулзовина TestAdvantage (есть две версии - для Framework 1.1 и для Framework 2.0) - позволяет видеть Infragistics controls.
  • 0


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

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