Watir: Как мы фиксируем отображаемые подэлементы, наведя указатель мыши на определенный элемент - PullRequest
1 голос
/ 14 апреля 2011

Я пытаюсь работать с наведением мыши на определенный элемент в моем приложении с помощью следующей команды {

ie.text_field (: xpath, "//a[contains(text(),'Deal')]").fire_event('onmouseover')

}

При наведении курсора на элемент отображаются два подпункта.

Есть ли способ захватить подэлементы, которые являются частью Предмета, с помощью наведения мыши, с помощью которого мы можем сообщить, что наш тест пройден или не пройден.

Пожалуйста, предложите.

Дополнительная информация:

Если мы возьмем пример, на странице потока StackOver, если я наведу курсор мыши на свое имя, у меня появится окно, где я вижу активность, привилегии, Выход из системы и другие вещи. Это действительно то, что я искал. Есть ли способ захвата элементов, отображаемых в окне при наведении мыши.

Я также попытался зафиксировать подпункты следующим образом: {

text = ie.text_field (: xpath, "//a[contains(text(),'Deal')]").fire_event('onmouseover')

(ставит text.inspect)

}

При выполнении этого «текстового» значения отображается как «ноль».

Ответы [ 2 ]

0 голосов
/ 20 апреля 2011

Моя общая тактика для таких вещей - сочетание использования IRB и инструмента IE Developer или Firebug.

с использованием IRB введите (или вырезайте и вставляйте) оператор watir, чтобы запустить команду onmouseover дляправильный элемент на странице.

Затем инструмент разработчика повторно сканирует DOM (есть небольшой значок обновления, который вы можете щелкнуть). Используйте инструмент, чтобы указать на элемент, чтобы указать на один из элементов в материале.выставлено на перемычку.Используя информацию из этого, вы можете выяснить, как обращаться к этим элементам, чтобы получить текст из правильного div и т. Д.

Если я сделаю это здесь, к информации, которая открывается, когда я перемещаю мышьменя зовут, я могу узнать, что это таблица класса «профиль-недавняя сводка». Кроме того, я могу посмотреть, как составлена ​​таблица, и увидеть, например, что значение репутации «сегодня» находится во второй ячейкеэта строка .. В строке также есть текст «репутация» .. так что

browser.table(:class, 'profile-recent-summary').row(:text, /reputation/).cell(:index, 2).flash

Если я хочу прошить нужную ячейку (индекс может быть равен 1, если используется firewatir или webdriver), я могу заменить.прошить что-то еще, например .text, если я хочу получить текст из этой ячейки (который на самом деле находится внутри ссылки, которая находится в ячейке) ..

0 голосов
/ 14 апреля 2011

не видя ваш код, я бы "проверил" элемент, который вы пытаетесь проверить, и когда_презент (текст) подтвердит, что это правда

...