Смена настроек в QTP 9.0
#1
Отправлено 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 объектами осуществляется корректно, или указать откуда их можно получить?
Гуру! Посоветуйте, как лучше решить проблему.
#2
Отправлено 15 января 2007 - 15:16
Kung, честно говоря, я сомневаюсь, что Вы верно установили корень проблемы :). Вы не могли бы выложить (в зазипованном виде) тест, вместе с логами? На чём базируется Ваша уверенность, что дело в "window id"?
2. Да, настройки QTP можно сохранять - в .vbs файлы:
Tools...>General>Generate Script...
Tools...>Object Identifications...>Generate Script...
Увы, фича эта подглючивает. Иногда прийдётся вручную редактировать записанные таким образом скрипты.
3.
Как написано, в упомянутом Вами документе, опции зависят от тестируемого приложения. Поэтому, вряд-ли имеет смысл обмениваться настройками. Впрочем, у меня их - для Win32 и нет...
Майк.
#3
Отправлено 16 января 2007 - 14:18
1 Скрипт был простой:
Window("Program Manager").WinListView("SysListView32").Select "Winamp"
Window("Program Manager").WinListView("SysListView32").Activate "Winamp"
Видимо, я действительно не разобрался в проблеме. После перезагрузки машины данный скрипт стал стабильно работать. И воспроизвести ситуацию я не смог.
Ошибка 100% воспроизводится на нашей программе :(.
Поиследовав, обнаружил, что свойства ярлыка нашей программы отличаются от всех остальных. Target указывает на название приложения в списке установленных WinApps вместо пути к .ехе - файлу, как это сделано, например, в Winamp.
Mike, я нашел только xml файл с отчётом по тесту. Вы его имели в виду, когда говорили о логе?
2.
Неприятная особенность. :-/Увы, фича эта подглючивает. Иногда прийдётся вручную редактировать записанные таким образом скрипты.
3 Жаль.
#4
Отправлено 16 января 2007 - 14:59
SystemUtil.Run "<тут будет путь к запусказемой программе">
Что касается логов, то нужна ВСЯ папка (по умолчанию она называется Res<1,2,...n>, то есть Res1, Res2 и т.п., и лежит ВНУТРИ папки с самим тестом). Но ещё понадобиться сам тест. Лучше всего просто зазиповать его (File>Export to zip file). Если сохранять логи в путь, предлагаемый по умолчанию, то тест проэкспортируется вместе с логами.
Майк.
#5
Отправлено 16 января 2007 - 15:31
Майк.
#6
Отправлено 16 января 2007 - 18:28
Вы правы. Сам я так и поступил. Но мне надо будет обучать 3-х молодых тестеров, которые не знают языков программирования. И поэтому я стараюсь находить наболее доступные пути. :)Мне вообще не понятно, зачем запускать программу с помощью ярлыка на рабочем столе. Если Вы запустите её через Start>Run>, либо через Start>Programs, то всё будет прекрасно работать: запишется вызов CODESystemUtil.Run "<тут будет путь к запусказемой программе">
Завтра приведу лог и тест, на котором ломается QTP.Что касается логов, то нужна ВСЯ папка (по умолчанию она называется Res<1,2,...n>, то есть Res1, Res2 и т.п., и лежит ВНУТРИ папки с самим тестом). Но ещё понадобиться сам тест. Лучше всего просто зазиповать его (File>Export to zip file). Если сохранять логи в путь, предлагаемый по умолчанию, то тест проэкспортируется вместе с логами.
Кстати сказать, .Net Add-in установлен? Без него QTP c .Net приложениями не дружит.
QTP установил мне .NET вместе с собой. Кроме того, он определяет объекты WinForms их Native Classes. Это означает, что плагин установлен?
Также QTP не хочет распознавать один и тот же объект записанный рекордером несколько раз. Кнопка "ОК" при повторной записи скрипта добавляла ещё один объект "ОК_2","ОК_3" и т.д.
Объектами считается всё, что можно. Например, значения полей компонент стали объектами. Строка логина - стала объектом, пароль тоже. Для того, чтобы скрипт нажал на кнопку "ОК", пришлось залезть в Object Repository.
Завтра поисследую. Буду рад советам.
#7
Отправлено 16 января 2007 - 20:23
Майк.
#8
Отправлено 18 января 2007 - 11:55
#9
Отправлено 19 января 2007 - 14:25
У меня такая же проблема. Подскажите где найти этот Add-in? Может он входит в состав чего-дь, т.к. именно .Net Add-in - не нашла.
#10
Отправлено 19 января 2007 - 15:25
Mercury предлагала для скачивания _триальную_ версию QTP 9.0 + .Net add-in. Если скачать обычный QTP, то там, понятно, add-in'a нет.
Майк.
#11
Отправлено 22 января 2007 - 11:26
Уже апгрейтила до 9.1 и поставила. Спасибо )
#12
Отправлено 22 января 2007 - 19:58
По мере выхода новых версий продуктов их заливают для скачивания. А старые соответственно удаляют. Поэтому и не нашли.Странно, я нашла только триал версию QTP 9.1 + .Net Add-in, а у меня стоит QTP 9.0, хотела для него...
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных