![Фотография](https://secure.gravatar.com/avatar/f8c9da0bfafee4738abb0c559d231b8c?s=100&d=https%3A%2F%2Fsoftware-testing.ru%2Fforum%2Fpublic%2Fstyle_images%2Fmaster%2Fprofile%2Fdefault_large.png)
Тестирование Delphi приложения с помощью QTP
#1
Отправлено 01 декабря 2011 - 08:24
Столкнулись со следующей проблемой при организации тестирования стороннего приложения на Delphi с помощью QTP.
Поставщик согласился перекомпилировать код с add-in для QTP.
Доступа к исходным кодам нету, соответственно верим поставщику на слово.
Далее создаю обычный проект:
1. Прописываю стартовый скрипт, который запускает приложение так чтобы появилась форма ошибки пароля.
2. Нажимаю запись скрипта и кликаю на кнопке этой формы.
3. Получаю событие DelphiWindow("DelphiWindow").DelphiButton("ОК").Click
4. Теперь пытаюсь проиграть полученный скрипт, получаю ошибку
Unspecified error
Line (1): "DelphiWindow("DelphiWindow").DelphiButton("ОК").Click".
Что не так? Как определить, распознался объект или нет?
PS: Альтернативу QTP не рассматриваем. Знаю, что TC нормально работает с Delphi без перекомпиляции, даже пробовал с тем же приложением - все нормально. Но нужна интеграция с QC, кроме того QTP куплен на компанию, а добиться покупки TC - нереально.
#2
Отправлено 01 декабря 2011 - 11:28
Кстати нужно добавить активате для окна перед клик
#3
Отправлено 01 декабря 2011 - 12:48
Из репозитария подсвечивается, т.е. видимо распознается.
#4
Отправлено 01 декабря 2011 - 12:56
Вполне возможно, нужен какой-нибудь патч, который решает эту проблему.
Само окно он находит?
"DelphiWindow("DelphiWindow").Exist(0)что вернет?
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#5
Отправлено 01 декабря 2011 - 13:31
QTP Version 11.00.0.0 Build 1018
Версия QTP, OS?
Вполне возможно, нужен какой-нибудь патч, который решает эту проблему.
Само окно он находит?"DelphiWindow("DelphiWindow").Exist(0)что вернет?
Object doesn't support this property or method: 'DelphiWindow(...).Exist'
Line (1): "DelphiWindow("DelphiWindow").Exist(0)".
На всякий случай приложение - Диасофт.
#6
Отправлено 01 декабря 2011 - 14:00
Пришлите картинку с OBJECTsPY - свойства вашего окна
Какие свойства у вашего окна и определяется ли оно вообще как окно.
Какой объект ваше окно - окно или диалог...
#7
Отправлено 01 декабря 2011 - 14:11
Проблемы наблюдаются со всеми контроллами.
"Class Name:=DelphiWindow", "abs_x:=271", "abs_y:=199", "delphi_name:=", "enabled:=True", "focused:=False", "foreground:=True", "hasborder:=True", "hascaption:=True", "hashscroll:=False", "hassizebox:=False", "hassystemmenu:=True", "hasvscroll:=False", "height:=112", "hscrollpagesize:=", "hscrollposition:=", "hwnd:=3213966", "is child window:=False", "is owned window:=True", "ismdichildwindow:=False", "ispopupwindow:=True", "istoolwindow:=False", "leftscrollbar:=False", "maxhscrollpos:=", "maximizable:=False", "maximized:=False", "maxvscrollpos:=", "minhscrollpos:=", "minimizable:=False", "minimized:=False", "minvscrollpos:=", "nativeclass:=TForm", "regexpwndclass:=TForm", "regexpwndtitle:=Ошибка", "rightaligned:=False", "righttoleftlayout:=False", "righttoleftreading:=False", "testobjgentype:=window", "text:=Ошибка", "topmost:=False", "visible:=True", "vscrollpagesize:=", "vscrollposition:=", "width:=383", "window id:=0", "windowextendedstyle:=65793", "windowstyle:=-1765277696", "x:=271", "y:=199"
Прикрепленные файлы
#8
Отправлено 01 декабря 2011 - 15:57
Что даст команда window("text:=Ошибка").exist, для данного окна можно работать без делфиСобственно пока тренируюсь на этом окошке.
Проблемы наблюдаются со всеми контроллами."Class Name:=DelphiWindow", "text:=Ошибка",
Сообщение отредактировал ch_ip: 01 декабря 2011 - 22:05
Оверквотинг! Дмитрий, повторно прошу избегать чрезмерного цитирования. Это сильно затрудняет просмотр темы
#9
Отправлено 02 декабря 2011 - 06:59
Что даст команда window("text:=Ошибка").exist, для данного окна можно работать без делфи
MsgBox window("text:=Ошибка").Exist
выдает True,
DelphiWindow("DelphiWindow").Exist
кстати тоже True, я просто видимо не понял как команду в скрипт засунуть, поставил MsgBox для вывода результата и получил нормальное значение.
Но DelphiWindow("DelphiWindow").Activate по прежнему падает с ошибкой.
#10
Отправлено 02 декабря 2011 - 11:46
window("text:=Ошибка").Activate работает?
Что даст команда window("text:=Ошибка").exist, для данного окна можно работать без делфи
MsgBox window("text:=Ошибка").Exist
выдает True,
DelphiWindow("DelphiWindow").Exist
кстати тоже True, я просто видимо не понял как команду в скрипт засунуть, поставил MsgBox для вывода результата и получил нормальное значение.
Но DelphiWindow("DelphiWindow").Activate по прежнему падает с ошибкой.
#11
Отправлено 02 декабря 2011 - 14:31
window("text:=Ошибка").Activate работает?
Да, работает. Не сообразил сразу проверить.
#12
Отправлено 03 декабря 2011 - 17:12
Ну значит так и обращайтесь. Дело в том, что в Диасе много кастомных контролов. Не всегда нужно обращаться к свойствам
window("text:=Ошибка").Activate работает?
Да, работает. Не сообразил сразу проверить.
#13
Отправлено 05 декабря 2011 - 11:17
Ну значит так и обращайтесь. Дело в том, что в Диасе много кастомных контролов. Не всегда нужно обращаться к свойствам
Хм, это совсем не вариант. Теряется весь смысл использования тула. Т.е. резюмируя, QTP не заставить распозновать Delphi объекты от Диасофта. Либо Delphi не такой, либо QTP.
#14
Отправлено 06 декабря 2011 - 07:16
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных