Как описать компонету?
#1
Отправлено 16 ноября 2006 - 07:28
Недавно начал изучение Rational Robot в аспекте применения его в нашем проекте. Проект - это Дельфовое приложение со сплошь и радом динамическими формами, причем некоторые компоненты используем свои. Так вот при использовании Робота стоит проблема однозначного определения компоненты по какому либо уникальному свойству, а команды типа
PushButton Click, "Text=BBB1"
или
EditBox Click, "ID=2622820", "Coords=36,20"
не проходит т.к. текты бывают разные, и ID динамических форм тоже. Хочется что-то типа:
EditBox Click, "myName=Text1", "Coords=36,20"
где myName уникальное свойство компоненты.
Так вот вопрос. Каким образом описать компоненту и уникальное свойство, чтобы робот мог однозначно определить объект на форме
Помогите начинающему специалисту.
С уважением Алексей
#2
Отправлено 16 ноября 2006 - 08:13
Выбираем метод Text для своего контрола и пробуем еще раз
Удачи
#3
Отправлено 16 ноября 2006 - 08:24
#4
Отправлено 16 ноября 2006 - 08:29
PushButton Click, "Text=Провести"
не всегда работает
Необходимо какое-то уникальное св-во которое можно добавить в компоненту и Робот бы ее понял. Но как это сделать?
#5
Отправлено 16 ноября 2006 - 09:49
Мне кажется, что уникальные свойства компонент задаются разработчиком, а RR только оперирует с их помощью. Вы же не можете добавить свойство для определенного типа контрола? Т.е. если свойства компонентов формы не заданы и генерируются динамически, то единственный выход - попросить разработчиков задавать уникальные осмысленные имена / Id-шники.Так вот вопрос. Каким образом описать компоненту и уникальное свойство, чтобы робот мог однозначно определить объект на форме
#6
Отправлено 16 ноября 2006 - 10:04
Мне кажется, что уникальные свойства компонент задаются разработчиком
Так в своем роде мы и являемся разработчиками. И в нашей власти лежит можем ли мы добавить свойство или нет. Другой вопрос, а найдет ли его RR - пока что у меня этого не получилось.
попросить разработчиков задавать уникальные осмысленные имена / Id-шники
А что вы имеете в виду под "уникальные осмысленные имена", как я понял RR не может получить имя компоненты, а лишь его текстовое представление, которое как я уже говорил может меняться. На ID, к сожаления завязаться не могу.
#7
Отправлено 16 ноября 2006 - 10:33
Как я понимаю, нужно протестировать именнно динамичность свойств компонента, тогда зачем харкодить в роботе наименование, ID и т.п.
По идее вы должны знать, когда и какое свойство примет определенное значение, вот и зашивайтесь на это в скриптах
#8
Отправлено 16 ноября 2006 - 10:56
Имя, которое не изменяется, либо имя, которое генерируется по определенному правилу.А что вы имеете в виду под "уникальные осмысленные имена",
я понимаю так, что если RR не может получить имя корректно распознаваемой компоненты (имею ввиду не Generic), значит оно не задано.как я понял RR не может получить имя компоненты, а лишь его текстовое представление, которое как я уже говорил может меняться. На ID, к сожаления завязаться не могу.
#9
Отправлено 16 ноября 2006 - 10:57
По идее вы должны знать, когда и какое свойство примет определенное значение, вот и зашивайтесь на это в скриптах
В том-то дело что есть случаи, когда я не знаю заранее текстовое значение объекта.
И хотелось бы максимально упростит поиск его на форме по уникальному идентификатору, который введен у каждой компоненты, но RR не видит этот идентификатор.
#10
Отправлено 16 ноября 2006 - 11:03
Имя, которое не изменяется, либо имя, которое генерируется по определенному правилу.
...
я понимаю так, что если RR не может получить имя корректно распознаваемой компоненты (имею ввиду не Generic), значит оно не задано.
Оно есть - это свойство Name и оно 100% задано. В Delphi оно есть у всех компонент и оно уникально, но RR его не видит. Или я просто не умею его получать?
#11
Отправлено 16 ноября 2006 - 11:10
А как вы пробуете его получить?
#13
Отправлено 16 ноября 2006 - 11:24
Интересно как aleshap пытается получить свойство Name объекта. Ведь если свойство Name задано, то Inspector должен видеть свойство Name распознаваемого объекта и как следствие - возможность выполнить действие над объектом по его уникальному имени?Tools->Inspector...
#14
Отправлено 16 ноября 2006 - 11:35
#15
Отправлено 16 ноября 2006 - 11:50
метод каким образом я пробую получить, так это:
Result=SQAGetChildren(".\",children)
for ii=1 to UBound(children)
Result = SQAGetPropertyNames(children(ii), Properties)
if Result=0 then
for iii=1 to UBound(Properties)
Result = SQAGetProperty(children(ii), Properties(iii),Value)
if Result=0 then MsgBox children(ii)+" == "+Properties(iii)+" = "+Value+" ; "
next
end if
next
Соответственно в списке который выдает процедура нет св-ва Name
#16
Отправлено 16 ноября 2006 - 11:51
Позвольте вмешаться. А delphi enabler у вас установлен?
А вот с этого момента, если можно то поподробнее, что это и где его взять...
Думаю что нет не установлен.
#17
Отправлено 16 ноября 2006 - 12:08
Пройдитесь поиском по "delphi enabler".
#18
Отправлено 16 ноября 2006 - 12:17
aleshap, а вам необходимо получить Name только программным способом?for Tiana
метод каким образом я пробую получить, так это:
Result=SQAGetChildren(".\",children)
for ii=1 to UBound(children)
Result = SQAGetPropertyNames(children(ii), Properties)
if Result=0 then
for iii=1 to UBound(Properties)
Result = SQAGetProperty(children(ii), Properties(iii),Value)
if Result=0 then MsgBox children(ii)+" == "+Properties(iii)+" = "+Value+" ; "
next
end if
next
Соответственно в списке который выдает процедура нет св-ва Name
Получает ли Inspector свойство Name данного объекта?
Если Inspector получает, то думаю, что это особенности работы с функцией SQAGetChildren.
#19
Отправлено 16 ноября 2006 - 12:51
Нет также явных идеинтификаторов.
Прикрепленные файлы
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных