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

Фотография

Смена настроек в QTP 9.0


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

#1 Kung

Kung

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Шутов Иван

Отправлено 15 января 2007 - 13:38

Приветствую всех!

Преамбула. Наша компания пишет систему документооборота на .NET С#.
Клиент на winforms + webservice.

Тестирование производится вручную по тест-кейсам. Количество форм и документов растёт и, соответственно, растёт время на регрессионное тестирование. Решили поискать решение для автоматизации ручного тестирования. Остановили свой выбор на QTP 9.0.

Попробовал рекордером записать простой скрипт:

- кликнуть на иконку Winamp
- запустить
- нажать кнопку воспроизведения

При воспроизведении вылетело - Object not visible.

Операционная Система - Win XP SP2

Покопал на форуме - наткнулся на полезный FAQ.

Узнал, что проблема в настройках Object Identification -> "... Практически для всех типов объектов в качестве Assistive свойства указано window id. Для приложений, написанных без использования Microsoft Fundation Classes это приводит к тому, что объекты не распознаются при воспроизведении, так как window id меняется от сессии к сессии..."

Получается, что для каждого теста необходимо настроить Object Identification на каждой машине с установленным QTP.

Вопросы:

1. Существует ли экспорт настроек для QTP 9.0 и импорт на другую машину?
2. Может кто-нибудь поделиться настройками, при которых работа со стандартными Windows объектами осуществляется корректно, или указать откуда их можно получить?

Гуру! Посоветуйте, как лучше решить проблему.
  • 0

#2 Mike

Mike

    Консультант

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

Отправлено 15 января 2007 - 15:16

1.

Kung, честно говоря, я сомневаюсь, что Вы верно установили корень проблемы :). Вы не могли бы выложить (в зазипованном виде) тест, вместе с логами? На чём базируется Ваша уверенность, что дело в "window id"?

2. Да, настройки QTP можно сохранять - в .vbs файлы:
Tools...>General>Generate Script...
Tools...>Object Identifications...>Generate Script...
Увы, фича эта подглючивает. Иногда прийдётся вручную редактировать записанные таким образом скрипты.

3.

Как написано, в упомянутом Вами документе, опции зависят от тестируемого приложения. Поэтому, вряд-ли имеет смысл обмениваться настройками. Впрочем, у меня их - для Win32 и нет...
  • 0
Best regards,
Майк.

#3 Kung

Kung

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Шутов Иван

Отправлено 16 января 2007 - 14:18

Mike, спасибо за ответы!

1 Скрипт был простой:

Window("Program Manager").WinListView("SysListView32").Select "Winamp"
Window("Program Manager").WinListView("SysListView32").Activate "Winamp"

Видимо, я действительно не разобрался в проблеме. После перезагрузки машины данный скрипт стал стабильно работать. И воспроизвести ситуацию я не смог.

Ошибка 100% воспроизводится на нашей программе :(.
Поиследовав, обнаружил, что свойства ярлыка нашей программы отличаются от всех остальных. Target указывает на название приложения в списке установленных WinApps вместо пути к .ехе - файлу, как это сделано, например, в Winamp.

Mike, я нашел только xml файл с отчётом по тесту. Вы его имели в виду, когда говорили о логе?

2.

Увы, фича эта подглючивает. Иногда прийдётся вручную редактировать записанные таким образом скрипты.

Неприятная особенность. :-/

3 Жаль.
  • 0

#4 Mike

Mike

    Консультант

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

Отправлено 16 января 2007 - 14:59

Мне вообще не понятно, зачем запускать программу с помощью ярлыка на рабочем столе. Если Вы запустите её через Start>Run>, либо через Start>Programs, то всё будет прекрасно работать: запишется вызов
SystemUtil.Run "<тут будет путь к запусказемой программе">

Что касается логов, то нужна ВСЯ папка (по умолчанию она называется Res<1,2,...n>, то есть Res1, Res2 и т.п., и лежит ВНУТРИ папки с самим тестом). Но ещё понадобиться сам тест. Лучше всего просто зазиповать его (File>Export to zip file). Если сохранять логи в путь, предлагаемый по умолчанию, то тест проэкспортируется вместе с логами.
  • 0
Best regards,
Майк.

#5 Mike

Mike

    Консультант

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

Отправлено 16 января 2007 - 15:31

Кстати сказать, .Net Add-in установлен? Без него QTP c .Net приложениями не дружит.
  • 0
Best regards,
Майк.

#6 Kung

Kung

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Шутов Иван

Отправлено 16 января 2007 - 18:28

Мне вообще не понятно, зачем запускать программу с помощью ярлыка на рабочем столе. Если Вы запустите её через Start>Run>, либо через Start>Programs, то всё будет прекрасно работать: запишется вызов CODESystemUtil.Run "<тут будет путь к запусказемой программе">

Вы правы. Сам я так и поступил. Но мне надо будет обучать 3-х молодых тестеров, которые не знают языков программирования. И поэтому я стараюсь находить наболее доступные пути. :)

Что касается логов, то нужна ВСЯ папка (по умолчанию она называется Res<1,2,...n>, то есть Res1, Res2 и т.п., и лежит ВНУТРИ папки с самим тестом). Но ещё понадобиться сам тест. Лучше всего просто зазиповать его (File>Export to zip file). Если сохранять логи в путь, предлагаемый по умолчанию, то тест проэкспортируется вместе с логами.

Завтра приведу лог и тест, на котором ломается QTP.

Кстати сказать, .Net Add-in установлен? Без него QTP c .Net приложениями не дружит.


QTP установил мне .NET вместе с собой. Кроме того, он определяет объекты WinForms их Native Classes. Это означает, что плагин установлен?

Также QTP не хочет распознавать один и тот же объект записанный рекордером несколько раз. Кнопка "ОК" при повторной записи скрипта добавляла ещё один объект "ОК_2","ОК_3" и т.д.
Объектами считается всё, что можно. Например, значения полей компонент стали объектами. Строка логина - стала объектом, пароль тоже. Для того, чтобы скрипт нажал на кнопку "ОК", пришлось залезть в Object Repository.

Завтра поисследую. Буду рад советам.
  • 0

#7 Mike

Mike

    Консультант

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

Отправлено 16 января 2007 - 20:23

Add-in у Вас не установлен. Без него толком работать с .Net не получится. Свяжитесь с представителем Mercury.... либо (если Вы проводите evaluation) - просто скачайте с сайта Mercury версию с .Net add-in'ом. Тест и логи можете не приводить. И так всё понятно.
  • 0
Best regards,
Майк.

#8 Kung

Kung

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Шутов Иван

Отправлено 18 января 2007 - 11:55

Забыл поблагодарить :). Михаил, спасибо вам большое!
  • 0

#9 Fishka

Fishka

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

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

Отправлено 19 января 2007 - 14:25

Всем, добрый день )

У меня такая же проблема. Подскажите где найти этот Add-in? Может он входит в состав чего-дь, т.к. именно .Net Add-in - не нашла.
  • 0

#10 Mike

Mike

    Консультант

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

Отправлено 19 января 2007 - 15:25

Где именно не нашли?
Mercury предлагала для скачивания _триальную_ версию QTP 9.0 + .Net add-in. Если скачать обычный QTP, то там, понятно, add-in'a нет.
  • 0
Best regards,
Майк.

#11 Fishka

Fishka

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

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

Отправлено 22 января 2007 - 11:26

Странно, я нашла только триал версию QTP 9.1 + .Net Add-in, а у меня стоит QTP 9.0, хотела для него...

Уже апгрейтила до 9.1 и поставила. Спасибо )
  • 0

#12 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 22 января 2007 - 19:58

Странно, я нашла только триал версию QTP 9.1 + .Net Add-in, а у меня стоит QTP 9.0, хотела для него...

По мере выхода новых версий продуктов их заливают для скачивания. А старые соответственно удаляют. Поэтому и не нашли.
  • 0
Дмитрий Шевченко

HP Software


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

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