Как 'отвязаться' от координат
#1
Отправлено 24 октября 2006 - 15:07
#2
Отправлено 24 октября 2006 - 16:28
При записи скрипта с помощью Recorder, записываются действие и координаты, в пределах которого действие было выполнено.
Если вы не хотите привязываться к координатам, то кавычки должны быть пустыми. Но в вашем случае, похоже что робот не распознает объект по указанному recMethod$.
Возможно, что recMethod$ неверный, но бывает так, что даже при верном recMethod$ действие не выполняется без координат. Попробуйте с помощью функции SQAFindObject найти объект с тем же recMethod$, который используется для выполнения действия над объектом. Если Result<>0, то recMethod$ указан неверно, в противном случае - для выполнения действия над этим объектом необходимо указать координаты.
#3
Отправлено 25 октября 2006 - 06:30
Вопрос в том, что Вы добиваетесь путем отвязки от координат?
#4
Отправлено 25 октября 2006 - 07:09
Если объект 20x50,
EditBox Click, "Type=EditBox;Name=txtName", "Coords=15,7" работает
EditBox Click, "Type=EditBox;Name=txtName", "Coords=150,70" не работает
Самое простое решение: поменять координаты на "Coords=2,2"
#5
Отправлено 25 октября 2006 - 15:11
Есть файл со скриншотом и с комментариями что есть что (как определил Inspector). Надо нажать на кнопку для раскрытия выпадающего меню.
SQAFindObject данную кнопку находит пример вызова
res=SQAFindObject("Type=ComboBox;ObjectIndex=1") и res = 0 означает что данный объект найден.
строка ComboBox Click, "ObjectIndex=1", "Coords=55,5" - тыкает по нужной мне кнопке.
строка ComboBox Click, "ObjectIndex=1", "" (или вместо последних кавычек поставить "%") тыкает в середину объекта ComboEditBox.
По файлу скриншота должна быть понятна проблема. У кого какие мысли есть по даному поводу ??? Необходимость отязаться от координат в том что при изменении размеров столбца Value? меняются координаты для ComboBox.
Прикрепленные файлы
#6
Отправлено 25 октября 2006 - 16:02
- выполнить команду Click по ячейке "Навигация";
- затем выполнить команду InputKeys "{TAB}%{DOWN}", для перехода на элемент ComboBox и открытия выпадающего списка, соответственно;
- затем осущесвить выбор необходимого пункта из элемента ComboListBox.
#8
Отправлено 26 октября 2006 - 06:53
ComboListBox Click, "ObjectIndex=0", "Text="+sText
=
ComboBox Click, "ObjectIndex=0", "Coords=1,1"
ComboListBox Click, "ObjectIndex=0", "Text="+sText
#9
Отправлено 26 октября 2006 - 09:58
Такое решение известно, и работает, согласен. Но хочется именно мышкой раскрывать выпадающий список. Хочется немного углубиться в изучение робота и найти максимально возможное количество решений данной задачи.Если задача стоит в том, чтобы выбрать какой-либо из пунктов выпадающего списка, то попробуйте сделать следующим образом:
- выполнить команду Click по ячейке "Навигация";
- затем выполнить команду InputKeys "{TAB}%{DOWN}", для перехода на элемент ComboBox и открытия выпадающего списка, соответственно;
- затем осущесвить выбор необходимого пункта из элемента ComboListBox.
#10
Отправлено 26 октября 2006 - 09:59
Именно это вчера и реализовал сразу после написания сообщения на этот форум ! ;) Данное решение так-же имеет место быть. Сенькс !Необходимость отязаться от координат в том что при изменении размеров столбца Value? меняются координаты для ComboBox.
Не пробовали взять текущие размеры Value и от них расчитать координаты?
-------------------------------------------------------------------------
Данный кусок кода демонстрирует данное решение
dim x as Integer
dim y as Integer
If ( res=SQAFindObject("Type=ComboBox;ObjectIndex=1") ) = SqaSuccess then
re2 =SQAGetProperty("Type=ComboEditBox;ObjectIndex=1", "Width", x)
re2 =SQAGetProperty("Type=ComboEditBox;ObjectIndex=1", "Height", y)
x = x+9 ' в данном случае 9 - дельта для x , для того чтоб робот попал по центру кнопки
y = y-7 ' Аналогично для y, хотя н статичен и его можно оставить числом, но так как алгоритм получения числа не
' требует много вермени на выполнение можно оставить и так.
' переменная re2 введена для дебага её можно упразднить
ComboBox Click, "ObjectIndex=1", "Coords=" &x &"," &y ' кликает по рассчитанным координатам
else
SQALogMessage sqaFail, "Объект ComboBox не найден !" , ""
#11
Отправлено 26 октября 2006 - 10:06
А можно немножко расписать что тут происходит ???? не совсем понял по скрипту принцип происходящего ...ComboBox Click, "ObjectIndex=0", "Coords=55,5"
ComboListBox Click, "ObjectIndex=0", "Text="+sText
=
ComboBox Click, "ObjectIndex=0", "Coords=1,1"
ComboListBox Click, "ObjectIndex=0", "Text="+sText
#12
Отправлено 26 октября 2006 - 10:34
А можно немножко расписать что тут происходит ???? не совсем понял по скрипту принцип происходящего ...ComboBox Click, "ObjectIndex=0", "Coords=55,5"
ComboListBox Click, "ObjectIndex=0", "Text="+sText
=
ComboBox Click, "ObjectIndex=0", "Coords=1,1"
ComboListBox Click, "ObjectIndex=0", "Text="+sText
Кликаем в ComboBox и выбираем значение sText
И это работает в не зависимости, кликаем мы в 55,5 или 1,1
(думаю, что ComboBox никогда не будет меньше 1x1)
#13
Отправлено 26 октября 2006 - 10:45
Размеры (координаты) куда кликать, привязаны не к размеру ComboBox'а , а к размерам ComboEdotBox'а. При указании ComboBox Click, "ObjectIndex=0", "Coords=1,1"А можно немножко расписать что тут происходит ???? не совсем понял по скрипту принцип происходящего ...ComboBox Click, "ObjectIndex=0", "Coords=55,5"
ComboListBox Click, "ObjectIndex=0", "Text="+sText
=
ComboBox Click, "ObjectIndex=0", "Coords=1,1"
ComboListBox Click, "ObjectIndex=0", "Text="+sText
Кликаем в ComboBox и выбираем значение sText
И это работает в не зависимости, кликаем мы в 55,5 или 1,1
(думаю, что ComboBox никогда не будет меньше 1x1)
тыкает в верхний левый угол CpmboListBox'а. ;)
зы: Может дальнейшее обсуждение перенесем в аську, а на форум потом выложу готовое решение с объяснением ??? Если конечно есть время и желание пообщаться на данную тему !
ICQ:233-487-425
#14
Отправлено 26 октября 2006 - 11:01
(в ситуациях, с которыми сталкивался я, хватило перевести Click на 1,1)
Остается толка согласится с Tiana…
#16
Отправлено 26 октября 2006 - 12:22
#17
Отправлено 26 октября 2006 - 12:28
Там на скриншоте виден курсор, поэтому после клика на ComboBox не появляется выпадающий список, а появляется курсор для ввода значения.Кстати, ComboBox type "value only from list" или значение моно ввести "с руки"?
#18
Отправлено 26 октября 2006 - 12:59
С InputKeys вводим, что надо и дело сделано.
А чтобы проверить, било ли такое значение в ComboBox , есть Verification Point.
#19
Отправлено 26 октября 2006 - 14:19
#20
Отправлено 27 октября 2006 - 15:19
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных