четверг, 16 июля 2009 г.

Дебаг теста в QTP и pdm.dll в этом процессе. И коротко о патче QTP_00591.EXE

Это мое первое сообщение в данном блоге. Далее в своем блоге я буду публиковать различные интересные проблемы с которыми сталкивался в процессе работы и какие то свои мысли по поводу карьеры в IT в целом и тестирования ПО в частности.


В данный момент в качестве инструмента автоматизированного тестирования Web приложений я использую QTP 10.0,а в качестве браузера на котором идет веб тестирование это IE и вот однажды я столкнулся со следующей проблемой. После переноса QTP с одной машины на другую в дебаг (debug) режиме перестали отображаться текущие значения переменных. Просмотреть значение переменной можно было только через "Add watch", но при этом через него нельзя было обращаться к объектам после попытки добавления в список отображалась пустая строка как на рисунке ниже за исключением того, что была заполнена строчка Context. Итог: в QTP 10.0 в дебаг режиме перестали отображаться значения для переменных и для объектов.


пустое окно дебага в QTP

Первым делом я полез в google и на одном из буржуйских форумов увидел тему с данной проблемой. Выяснилось, что данная проблема лечится патчем QTP_00591. Вот вырезка из описания патча:
This patch fixes a problem in which objects sometimes disappeared from the Watch and Variables lists in the QuickTest Debug Viewer.
This problem was observed when Process Debug Manager 9.xx.xxxx was installed. It may also occur for later versions.

Как видно из описания проблема связана с более новой версией библиотеки pdm.dll. После установки патча проблема исчезла и я очень удивился, когда увидел

окно дебага после update pdm.dll

На другой машине окно дебага для аналогичного объекта выглядела вот так


Выяснилось, что на старом месте для QTP стоит вот такая библиотека pdm.dll, которая судя по всему инсталлируется вместе с QTP.

окно дебага со старой версией pdm.dll

А на новом месте для QTP была следующая библиотека pdm.dll, которая установилась вместе с Visual Studio.

новая версия pdm.dll

Отсюда вывод, что если хочется как говорится видеть больше и дальше, то надо заменить старую библиотеку на новую или произвести update данной библиотеки ,а затем установить патч. Что бы удалить старую библиотеку и поставить новую, можно воспользоваться командой regsvr32, которая удаляет и устанавливает dll библиотеки. Посмотреть справку к данной команде можно в справке Windows или вызвав cmd консоль и набрав regsvr32 без параметров. Новая библиотека установится сама в случае установки VS, но также ее можно взять из IE 8, в который она входит как я предполагаю с целью отладки javascript в браузере посредством IE Devtoolbar, который включен в ie8.
P.S. Кстати интересно, что использует firefox для отладки javascript в firebug.

Комментариев нет: