Использование команды селена ClickAt - PullRequest
15 голосов
/ 27 августа 2009

Меня смущает разница между командами Click и ClickAt в селене Где я могу использовать команду ClickAt?

Ответы [ 6 ]

13 голосов
/ 27 августа 2009

Вот что Selenium IDE говорит об этих двух командах:

click(locator)
Аргументы:

  • locator: элемент locator

Нажатие на ссылку, кнопку, флажок или переключатель. Если действие щелчка вызывает загрузку новой страницы (например, ссылки обычно), вызовите waitForPageToLoad.

А:

clickAt(locator, coordString)
Аргументы:

  • locator: элемент locator
  • ordinString: указывает положение x, y (т.е. - 10,20) мыши событие относительно возвращенного элемента у локатора.

Клики по ссылке, кнопке, флажку или переключатель. Если действие щелчка вызывает загрузку новой страницы (например, ссылки обычно делает), вызовите waitForPageToLoad.

click используется, когда вы просто хотите «нажать» на элемент, например кнопку, ссылку, ...

И clickAt используется, когда вы хотите «щелкнуть» по позиции , обозначенной координатами мыши .


Я полагаю, что второй может быть полезен для некоторых «богатых» приложений - я фактически никогда не использовал его ... С другой стороны, я использую click, как и все время.

Если у вас есть страница с элементами формы, ссылками, кнопками и тому подобным, вы, скорее всего, будете использовать click: гораздо проще найти элемент, используя его идентификатор или имя класса, чем найти его положение в пикселей на странице ^^

3 голосов
/ 26 января 2010

Я заметил некоторые различия между click () и clickAt () при тестировании приложения ExtJS. Например, если я пытаюсь щелкнуть вкладку в Ext.TabPanel , команда click () не работает, хотя я предоставляю ей правильный xpath, и clickAt () работает хорошо. Код выглядит так:

click("//li[@id='tab-panel-id__second-tab-id']/a[2]/em/span/span")

не работает, но

clickAt("//li[@id='tab-panel-id__second-tab-id']/a[2]/em/span/span","0,0")

работает. Обратите внимание, что координаты (0,0)

Я не могу понять, почему это происходит ...

1 голос
/ 03 декабря 2012

В нашем приложении есть виджет dojo, который работает только с clickAt("//span[@id='mastheadIconBar']/span[1]/span/span","0,0").

Не знаю почему, но только click("//span[@id='mastheadIconBar']/span[1]/span/span") не работает.

1 голос
/ 04 января 2012

Будьте внимательны при тестировании клика. Иногда двойной щелчок по команде приводит к ее отображению красным цветом. Вы измените линию, чтобы попробовать другие альтернативы, но ничего не будет работать. Но затем запустите ваш скрипт, и строка clickAt будет в порядке с тем, что вы вводите.

1 голос
/ 18 сентября 2009

Я тестирую приложение GWT, и мне кажется, что я должен использовать clickAt, если я хочу щелкнуть узел в виджете дерева.

0 голосов
/ 19 марта 2010

если вы используете IE, то должны использовать clickAT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...