Доброго всем времени суток. Вопрос по Rational Robot-у. Не судите строго, но полазив по форуму я не нашел того, что искал.
Вопрос в том, как Роботом находить на форме нужные компоненты и добираться до их свойств. Проверять их и если что-то не так выдавать предупреждение. Тестируемые приложения написаны на Delphi. Заранее благодарю!
Распознавание компонентов
Автор nazarov, 06 сен 2006 12:20
Сообщений в теме: 4
#1
Отправлено 06 сентября 2006 - 12:20
#2
Отправлено 06 сентября 2006 - 12:47
Вам помогут:
- найти объект: SQAFindObject ()
- определить значения его свойств: SQAGetProperty ()
- найти объект: SQAFindObject ()
- определить значения его свойств: SQAGetProperty ()
#4 Гость_drcoor_*
Отправлено 06 сентября 2006 - 15:34
В добавок к вышесказанному, вот Вам для примера 2 кусочка одного скрипта, в котором эти функции применяются.
Смысл его в том, что через форму смотрится определённая запись в базе, запоминаются значения полей, потом запись по определённым правилам дублируется и проверяется, как продублировались значения полей:
Sub Main
...
Dim Result As Integer
Dim Value as Variant
Dim Vih_N as Variant
....
'здесь просто проверяется, что в поле ввода типа "Дата" подставилась текущая дата:
Result=SQAGetProperty("Class=TDBDateEdit;ClassIndex=5","Text",Value) ' - получаем значение поля
Value = Format(Value,"Short Date") ' - конвертируем в пригодный для сравнения формат
if Value <> Date then
SQALogMessage sqaWarning,"Должна быть текущая дата" ' - сравниваем - если не текущая, то пишем в лог предупреждение
End If
_______________________________________________
...
_______________________________________________
'а в этом кусочке как раз считывание проперти, запоминание и последующее сравнение:
Result=SQAGetProperty("Type=EditBox;ObjectIndex=12","Text",Vih_N) ' - считали свойство "Text" объекта EditBox;ObjectIndex=12 (поле ввода) и запомнили в переменную Vih_N
....
'что-то поделали с приложением
....
'пришло время сравнить, что было и что получилось:
Result=SQAGetProperty("Type=EditBox;ObjectIndex=12","Text",Value)
if Value <> Vih_N then
SQALogMessage sqaWarning, "Неправильное копирование исходящего номера", ""
End If
в дополнение - в Роботе есть инструмент "Инспектор", он применяется для нахождения на форме и получения свойвств компонент в "ручном режиме" - его тоже надо обязательно использовать
Смысл его в том, что через форму смотрится определённая запись в базе, запоминаются значения полей, потом запись по определённым правилам дублируется и проверяется, как продублировались значения полей:
Sub Main
...
Dim Result As Integer
Dim Value as Variant
Dim Vih_N as Variant
....
'здесь просто проверяется, что в поле ввода типа "Дата" подставилась текущая дата:
Result=SQAGetProperty("Class=TDBDateEdit;ClassIndex=5","Text",Value) ' - получаем значение поля
Value = Format(Value,"Short Date") ' - конвертируем в пригодный для сравнения формат
if Value <> Date then
SQALogMessage sqaWarning,"Должна быть текущая дата" ' - сравниваем - если не текущая, то пишем в лог предупреждение
End If
_______________________________________________
...
_______________________________________________
'а в этом кусочке как раз считывание проперти, запоминание и последующее сравнение:
Result=SQAGetProperty("Type=EditBox;ObjectIndex=12","Text",Vih_N) ' - считали свойство "Text" объекта EditBox;ObjectIndex=12 (поле ввода) и запомнили в переменную Vih_N
....
'что-то поделали с приложением
....
'пришло время сравнить, что было и что получилось:
Result=SQAGetProperty("Type=EditBox;ObjectIndex=12","Text",Value)
if Value <> Vih_N then
SQALogMessage sqaWarning, "Неправильное копирование исходящего номера", ""
End If
в дополнение - в Роботе есть инструмент "Инспектор", он применяется для нахождения на форме и получения свойвств компонент в "ручном режиме" - его тоже надо обязательно использовать
#5
Отправлено 07 сентября 2006 - 10:19
Спасибо вам всем огромное! Про инспектора не знал и мечтал, чтобы было подобное! Работает! Разобрался!
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных