t.me/atinfo_chat Telegram группа по автоматизации тестирования

QTP не записывает действия


(I.S.) #1

Добрый вечер!

Установил триальную версию QTP. Пытаюсь для начала записать действия в стандартных виндовых приложениях (калькулятор, блокнот и т.д.) - ничего не записывается.

Подскажите, пожалуйста, в чем может быть проблема?

 


(Максим Таран) #2

При старте он показывает окошко с вопросом, какие подключить дополнения, у Вас везде галки стоят?


(Mykhailo Poliarush) #3

у вас значит кардинально что-то не работает.

у вас не было никаких ошибок при инсталяции?

в документации должен быть пример приложения для проверки работы инструмента

попробуйте на нем, если не работает, я могу только рекомендовать переустановить QTP еще раз


(katmoon) #4

Похоже что не подключается в работу стандартный виндовый аддон.

Проверьте, что все нужные аддоны подключены в настройках.

Как вариант, попробуйте запускать приложение из QTP.


(I.S.) #5

Да, все, что установлено, всё подключено (.NET, ActiveX, Visual Basic, Web, WPF, Silverlight).


(I.S.) #6

При инсталляции ошибок не было, переустанавливать тоже пробовал.

А где найти приложение для проверки, не подскажите?


(I.S.) #7

как запустить приложение из QTP (сходу не нашел)?


(katmoon) #8

К сожалению у меня нет доступа ни к QTP, ни к документации.

Можно в настройках теста указать, какое приложение запускать перед тестом.

Также приложение можно вызывать вручную из скрипта. Детали можете найти в документации, которая ставится вместе с QTP. Ищите метод для вызова команд из командной строки.


(I.S.) #9

Да, если вызывать приложение непосредственно из QTP, то запись ведется. Спасибо большое.

Но теперь появилась новая проблема: для блокнота и калькулятора действия-то записываются, а вот для нужного мне приложения - нет. Напиcано на C#, некоторые компоненты на C++. Использует WPF.


(Mykhailo Poliarush) #10

теперь надо проверить, что ваше приложение использует библиотеки, которые может расспознать QTP.

вы наверное сразу захотите задать вопрос, а как узнать? просто спросить у разработчиков, а если нету, то посмотреть документацию

не факт, что вам, может быть, надо подключить дополнительный модуль


(katmoon) #11

Работа с калькулятором происходит через аддон, который работает с Standard Windows объектами. Он по-моему входит в комплект QTP по умолчанию. Для работы с .NET приложениями (WPF в том числе) необходим .NET аддон. Его нужно покупать отдельно. Убедитесь, что он у вас есть и включен в момент, когда вы пытаетесь записывать какие-то действия.

Могу предположить, что если .NET аддон не включен, то запись работы с .NET приложение должна вестись все равно. Все должно происходить на уровне Window объекта (из Standard Windows библиотеки) и виртуальных объектов QTP (т.е. кликать по координатам). Если у вас вообще ничего не происходит, вероятно проблема не с самим .NET аддоном, а с чем-то более глобально. Вы свое приложение тоже из QTP запускаете?


(I.S.) #12

С триальной версией .NET и WPF тоже идут в комплекте. При запуске приложения подключены вот эти аддоны: .NET, ActiveX, Visual Basic, Web, WPF, Silverlight.

Да, запускаю из под QTP.


(katmoon) #13

Теперь мне сложно что-то предположить без доступа к вашей машине с этой проблемой.

Совсем ничего не должно происходить. У вас в настройках включена поддержка работы с виртуальными объектами?


(apetrovskiy) #14

Ваше приложение случаем не более привилегированное, чем тестовый тул? Запрос UAC, к примеру, уже ПОСЛЕ запуска. Обычно, в таких случаях другой процесс (низкопривилегированный) видит только основное окно или несколько окон в многооконных приложениях. QTP ведь потребляет MS UI Automation или MSAA?


(apetrovskiy) #15

Интересно, чем закончилось.


(I.S.) #16

Да, поддержка виртуальных объектов включена.


(apetrovskiy) #17

По сути дела сообщаю следующее:

сам столкнулся с такой же ситуацией - Windows 7N SP1 x64 En, .NET 3.5 (default), Visual Stusio 2005 SP1 (is a requirement of IBM RFT), domain admin, все аддыны подключены.

Клики самого обычного приложения Windows Forms (наверное, в той студии ещё не было WPF) не записываются.

Поскольку переустановку приложения или винды я в принципе отвергаю (любимый совет наших админов, когда из Центра приходит некий патч, к примеру, убивающий напрочь в аутглюке отправку почты в rtf формате, они рекомендуют именно такое лечение. Мой же метод такой - не трогать лабу и пресекать все попытки кого-либо трогать лабу, до выяснения), я перебрал настройки рекординга и занялся установкой аддынов и патчей.

1. В авторане (файл setup.exe в папке 'QTP 11 Installation Files') есть пункт 'Add-in Extensibility and Web 2.0 Toolkits' -> 'QuickTest Professional .NET Add-in Extensibility SDK Setup'. Не знаю, является ли это необходимым (может, какие файлы доставит или перерегистрит), но точно не является достаточным.

2. Установка патчей (папка 'QTP 11 Patches'). Проверять после каждого патча довольно трудоёмко (несмотря на выделенные приличные память и процы, все эти установки работают не то чтобы очень быстро), но у меня сложилось впечатление, что:

после QTPNET_00051.exe ничего не изменилось

после 64-битных патчей QTP_00699.exe и QTPWEB_00086.exe (но я проверял уже после установки одного или нескольких следующих по алфавиту патчей), рекординг появился.

Итого, я подозреваю, что надо иметь установленными патчи для 64-х битных машинок: QTP_00699.exe и QTPWEB_00086.exe.

Объяснение может быть таким: (для ASP.NET я объяснение помню, но тут же WinForms) - одна из проблем или с *.config-файлами, или с манифестом. Но лучше это найти в описании патчей.

 

По поводу "доступа к машине с проблемой" и прочего вэбекса: для решения этой проблемы достаточно Help -> About ... -> Click to generate product information (ибтность винды можно узнать, посмотрев на путь к QTP внизу отчёта).

 

Ещё замечу, что на Windows 7 Ultimate SP1 En x86 ни первого пункта, ни второго не надо выполнять. Работает "из коробки".

 

По поводу рекординнга (я ещё не читал доку, признаюсь честно): по умолчанию посторонние приложения не кликаются. В 'Automation and Run Settings' можно задать работу с любым "открытым" виндовым приложением (по-моему, открытое после запуска рекординга он тоже видит).

Есть ещё вариант с запущенным из Desktop/Windows shell приложением - это почему-то не заработало, запускай я до старта рекординга или после. Должно быть, пора читать пять тысяч страниц доки. :)


(I.S.) #18

так что в итоге: запись начала работать?


(apetrovskiy) #19

Да, конечно (зачем просто так шаги описывать? :)

на x64 с патчами, на x86 из коробки.

Наверняка у вас первый вариант.


(apetrovskiy) #20

Вот, случайно наткнулся (я-то ставил патчи от того, что они в комплекте с триалом. А постоянные пользователи, видимо, ленятся - им-то надо узнать про обновление, скачать его, поставить на все хосты, где это необходимо и пр. Серьёзные кастомеры ставят обновления редко и после длительного тестирования):

http://www.joecolantonio.com/2011/02/03/qtp-11-patch-fixes-net-bpt-service-test-and-other-issue/

Статья про патч 00709 нахваливает патч 00699:

1. If the QTP_00699 - Support Testing on 64-Bit Applications (For Specified Technologies) patch was not installed on 64-bit operating systems, all .NET 4.0 controls on 32-bit applications were recognized as SwfObjects.