Перейти к содержимому

Фотография

Клик на объекте вне поля зрения


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 Mr.BUG

Mr.BUG

    Новый участник

  • Members
  • Pip
  • 21 сообщений

Отправлено 14 ноября 2006 - 14:05

В общем проблема такова: На странице присутствуют чекбокс и кнопка. Они могут находиться как в поле зрения так и за его пределами. Надо нажать чекбокс, а затем кнопку. Но, если объекты находятся вне поля зрения робота - он их не нажимает. SQAFindObject показывает что объект на странице есть, но поскольку он вне поля зрения - робот на него не нажимает... Поскажите, как сделать так, чтобы робот нажимал на объекты вне поля его зрения.

Если подобное уже было, киньте сцылку...
  • 0

#2 Tiana

Tiana

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Girnyk S. Tatyana
  • Город:Украина, Харьков

Отправлено 14 ноября 2006 - 15:15

Mr.BUG, а что значит "вне поля зрения"?
  • 0

#3 Mr.BUG

Mr.BUG

    Новый участник

  • Members
  • Pip
  • 21 сообщений

Отправлено 14 ноября 2006 - 15:38

Значит что на странице присутствует вертикальный скролл бар и объект находится где-то внизу или посередине страницы, и чтобы до него добраться - нужно скролить страницу.
  • 0

#4 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 14 ноября 2006 - 15:53

Когда-то очень давно, когда я еще работал с RR, у меня была та же проблема. Единственное решение, которое я нашел, это проверять видимость объекта, на который надо кликнуть. Если он невидим, то скроллить до тех пор, пока он не становится видимым на экране. И только тогда кликать по нему.
  • 0
Дмитрий Шевченко

HP Software

#5 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 14 ноября 2006 - 16:07

Мне надо было так скроллить treeview. Для этого я присваивал необходимое значение параметру ScrollTop этого объекта а потом кликал.
  • 0

#6 Nadezhda

Nadezhda

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • Город:Харьков

Отправлено 14 ноября 2006 - 17:03

Если у вас количество объектов, отображаемых на странице/форме выше искомого объекта, постоянное, а видимость или невидимость нужного объекта обусловлена размерами объектов, находящихся выше него, то можно использовать табуляцию.
  • 0

#7 Darkus

Darkus

    Опытный участник

  • Members
  • PipPipPipPip
  • 424 сообщений
  • Город:Казахстан, г.Астана

Отправлено 15 ноября 2006 - 03:42

Если до вашего контрола можно добраться Tab-ом (а при грамотной архитектуре интерфейса так и должно быть), то эмулируйте его нажатие и будет вам счастье...
  • 0

#8 Mr.BUG

Mr.BUG

    Новый участник

  • Members
  • Pip
  • 21 сообщений

Отправлено 15 ноября 2006 - 08:44

Darkus, Nadezhda
Спасибо, действительно действенный метод, но когда на странице несколько сотен объектов - не всегда удобоиспользуемый.

Clauster

Для этого я присваивал необходимое значение параметру ScrollTop этого объекта а потом кликал.

А как определить это необходимое значение? Я выставлял с помощью SQASetProperty и 10 и 100 - и ничего не происходило. Как сделать скролл на странице до объекта?

Dmitry_NJ
А как проверить видимость объекта на странице?
  • 0

#9 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 15 ноября 2006 - 09:37

А как определить это необходимое значение? Я выставлял с помощью SQASetProperty и 10 и 100 - и ничего не происходило. Как сделать скролл на странице до объекта?

Просмотр сообщения

Object Inspector. Ищите, какой объект надо скроллить.
  • 0

#10 Tiana

Tiana

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Girnyk S. Tatyana
  • Город:Украина, Харьков

Отправлено 15 ноября 2006 - 10:12

Могу предложить еще один вариант перемещения к искомому объекту - с помощью поиска в браузере.
В случае с чекбоксом, достаточно нажать Ctrl+F и ввести в качестве параметра поиска текст чекбокса. Скроллинг переместит вас в область страницы с искомым объектом и объект окажется в зоне видимости RR. Если же у вас несколько чекбоксов с одинаковым текстом, то можно ориентироваться по другим объектам, которые всегда находятся рядом с конкретным искомым объектом (будь то чекбокс или кнопка). Пока что меня этот метод выручал.
  • 0

#11 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 15 ноября 2006 - 15:17

Dmitry_NJ
А как проверить видимость объекта на странице?

Это уж вам с вашим приложением виднее. Может можно зацепиться за какое-нибудь свойство этого объекта, может за свойство скролл бара. Может поставить какой-нибудь простенький bitmap checkpoint.
  • 0
Дмитрий Шевченко

HP Software

#12 Mr.BUG

Mr.BUG

    Новый участник

  • Members
  • Pip
  • 21 сообщений

Отправлено 16 ноября 2006 - 07:40

Dmitry_NJ
Поясню. SQAFindObject однозначно указывает на то, что объект на странице присутсвует. Но найти свойство, отвечающее за видимость его на странице - мне не удалось. Если Вы знаете такое свойство - поделитесь пожалуйста...

2 All
В результате многих экспериментов интернет страницы разделились на з типа:

1. HTMLLink Click,"Name=Text","" - команда нормально проходит вне зависимости от видимости объекта. Т.е. после нее робот автоматически скроллит страницу до указанного объекта и производит клик

2. ScrollBar Click, "Type= HTMLLink;Name=Text", "" Если первый вариант не работает, то работает следующая команда. Результат тот же. Скролл до объекта и клик по нему.

3. Не работает ни один из предложенных вариантов.

Почему робот по разному работает на разных страницах? Почему в одном случае он автоматически осуществляет скролл до объекта, в другом принудительно скроллит до него, а в третьем - вообще отказывается осуществлять скролл. С чем это связано и как быть в 3-м случае?
  • 0

#13 Mr.BUG

Mr.BUG

    Новый участник

  • Members
  • Pip
  • 21 сообщений

Отправлено 29 ноября 2006 - 10:00

Подскажите, как сделать автоскролл до объекта с помощью команды ScrollBar. Очень нужно.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных