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

Фотография

Как избежать указания координат?


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

#1 OVI

OVI

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Исакова Ольга

Отправлено 21 ноября 2005 - 09:35

При тестировании приложения, написанного на C++ у начинающих тестировщиков встала проблема. Объекты интерфейса при написании скрипта распознаются как Generic, они не имеют таких свойств как Name. А посему получается проблема при тестировании интерфейса. В этой ситуации требуется явно указать координаты (иначе не работает). Но указание координат - не надежный способ. Что делать? Rational Robot только изучается, а проблему решить нада. :victory:
  • 0

#2 Pet[EG]

Pet[EG]

    Активный участник

  • Members
  • PipPip
  • 86 сообщений
  • ФИО:Петраш А.Ю.
  • Город:Харьков, Укр

Отправлено 21 ноября 2005 - 10:29

При тестировании приложения, написанного на C++ у начинающих тестировщиков встала проблема. Объекты интерфейса при написании скрипта распознаются как Generic, они не имеют таких свойств как Name. А посему получается проблема при тестировании интерфейса. В этой ситуации требуется явно указать координаты (иначе не работает). Но указание координат - не надежный способ. Что делать? Rational Robot только изучается, а проблему решить нада.  :victory:

Просмотр сообщения

Какие именно объекты? Все или только некоторые?

PS: если уж совсем мышью никак, то есть еще вариант пользоваться клавиатурными shortcut-ами
  • 0

#3 OVI

OVI

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Исакова Ольга

Отправлено 21 ноября 2005 - 10:43

Не все, но большинство. Да и в тех, что распознается, нету свойств, к которым бы можно было привязаться, исключая координаты... Но при малейшем изменении внешнего вида окна - координаты теряются.
  • 0

#4 dziga

dziga

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

  • Members
  • Pip
  • 50 сообщений
  • Город:Киев, Украина

Отправлено 21 ноября 2005 - 14:32

А поучить Робота вы не пробовали? Возможно, он и распознает Ваши объекты и увидит их свойства. Тогда не понадобятся координаты.
  • 0

#5 Mushroom

Mushroom

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

  • Members
  • Pip
  • 13 сообщений
  • ФИО:Ковалев Юрий

Отправлено 21 ноября 2005 - 15:27

Иногда удобно задавать относительные координаты. Например от объекта, который распознается роботом, и всегда находится на одинаковом удалении от требуемого.
И, как уже говорили, горячие клавиши. Тоже очень удобно.
Также, иногда спасает знание порядкового номера объекта.
  • 0
Обеспечение производительности ИТ
Нагрузочное тестирование, оптимизация производительности, сайзинг
http://performance-lab.ru

#6 OVI

OVI

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Исакова Ольга

Отправлено 21 ноября 2005 - 16:56

А поучить Робота вы не пробовали?


Нет. А как это делается? :victory:

Иногда удобно задавать относительные координаты. Например от объекта, который распознается роботом, и всегда находится на одинаковом удалении от требуемого.
И, как уже говорили, горячие клавиши. Тоже очень удобно.
Также, иногда спасает знание порядкового номера объекта.


Как раз это очень даже неудобно, ведь если чуть измениться интерфейс, уже вся "автоматизация" накрывается. :( Да и как узнаешь эти порядковые номера, когда все объекты Generic... И не знаешь, за что каждый отвечает...
  • 0

#7 serega

serega

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

  • Members
  • PipPipPipPip
  • 355 сообщений
  • Город:Москва

Отправлено 22 ноября 2005 - 07:37

Не могли бы Вы предоставить пример распознавания объектов.
Я думаю , тогда советы будут более внятные
  • 0

#8 Mila

Mila

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

  • Members
  • PipPipPip
  • 192 сообщений
  • Город:Санкт-Петербург

Отправлено 22 ноября 2005 - 12:48

Вставлю свои 5 копеек:
1. Заставили програмистов определить названия классов для контролов (как правило, они это не делают за ненадобностью) - появилась возможность их находить автоматически. (Может и криво выразилась, но возможность нашли после обсуждения вариантов поиска с программистами).

2. У нас размеры всех окон, количество столбцов и т.п. система хранит в реестре. Перед запуском скрипта изменяем настройки реестра и отпадает часть проблем с замороченным открытием нужных столбцов, закладок и т.п.

3. Можно определить специальные события для тестов (но это совсем крайний случай). Кидать сообщения могут почти все более-менее серьезные тулы :)
  • 0

#9 serega

serega

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

  • Members
  • PipPipPipPip
  • 355 сообщений
  • Город:Москва

Отправлено 22 ноября 2005 - 13:02

1. Заставили програмистов определить ...

Просмотр сообщения


А вот это самое разумное, подойти для начала к своим разработчик и обсудить проблему, лучше них никто не скажет, что можно попытаться сделать и вместе поэксперементировать.
  • 0

#10 Dmit

Dmit

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Дмитрий

Отправлено 22 ноября 2005 - 16:31

Рекомендую вспомнить программирование
Команды SQA Basic
SQAFindObject
Пример:
SQAFindObject("Type=PushButton;Text=Загрузка")
SQAGetProperty
Пример:
SQAGetProperty (ObjectRec, "State", CheckState)

Подробнее можно прочитать в Help.

Можно еще на языке написать СОМ объект для перехвата... но для этого надо неплохо программировать.

В свое время писал на ассемблере перехват внутренних процедур эмулятора PDA (Palm & Simbian) для тестирования роботом но это достаточно сложно если нет опыта системного программиста (работа с прерываниями, памятью, перехвата сообщений сервисов и семафорной системы распределения многозадачностью и безопасностью ОС) то лучще не лесть в эти дебри
  • 0

#11 Pet[EG]

Pet[EG]

    Активный участник

  • Members
  • PipPip
  • 86 сообщений
  • ФИО:Петраш А.Ю.
  • Город:Харьков, Укр

Отправлено 23 ноября 2005 - 13:22

Рекомендую вспомнить программирование
Команды SQA Basic
        SQAFindObject
Пример:
SQAFindObject("Type=PushButton;Text=Загрузка")
        SQAGetProperty
Пример:
SQAGetProperty (ObjectRec, "State", CheckState)

Подробнее можно прочитать в Help.

Просмотр сообщения

Если объект Generic и из него не достаются никакие из атрибутов (как было выше написано), то SQAFindObject ни разу не поможет
  • 0

#12 serega

serega

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

  • Members
  • PipPipPipPip
  • 355 сообщений
  • Город:Москва

Отправлено 24 ноября 2005 - 08:21

В свое время писал на ассемблере перехват внутренних процедур эмулятора PDA (Palm & Simbian) для тестирования роботом но это достаточно сложно если нет опыта системного программиста (работа с прерываниями, памятью, перехвата сообщений сервисов и семафорной системы распределения многозадачностью и безопасностью ОС) то лучще не лесть в эти дебри

Просмотр сообщения


Не проще было написать собственные утилиты для тестирования таких приложений, чем разбирраться еще и с Роботом?
  • 0

#13 Гость_Вуйко з полонини_*

Гость_Вуйко з полонини_*
  • Guests

Отправлено 24 ноября 2005 - 09:06

у меня все обекти определяютса как Control у всех индекс 0
GenericObject Click, "Type=Control;Index=0", "Coords=34,11"

скажите пожалуйста как правильно пользоваться Тулзой Object Data Test Definition (штоб она писала больше чем "Control") :diablo:

#14 NESSY

NESSY

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Владмир Владимирович

Отправлено 28 февраля 2006 - 09:21

Вот и у меня та же проблема... Объекты ActiveX Роботом не определются. Сказано, что нужно установить специальную dll'ку, но почему-то она у меня не работает. Попробуйте узнать что за объекты у вас у программистов и найдите такую dll'ку....
У меня эта проблема с Flex Grid:
GenericObject Click, "Class=MSFlexGridWndClass;ClassIndex=2", "Coords=105,199"
  • 0

#15 culver

culver

    Активный участник

  • Members
  • PipPip
  • 80 сообщений
  • Город:Ukraine,Vinnitsa

Отправлено 28 февраля 2006 - 10:33

Если не хочется/нет возможности трясти программистов, то координаты можно задавать в каком-то масиве или файле, а в скриптах использовать имя елемента масива. В силу того, что Робот как-то странно работает с масивами, я в свое время задавала в процедуре масив, в котором перечислялись координаты. Можно сделать для єтого отдельный заголовочный файл. Это не устраняет полностью проблем связанных с координатами, но по крайней мере они все в одном месте и если что нет надобности перетрясать весь скрипт.
  • 0
Aricent (Ukraine), Engineering Project Manager - Testing


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

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