2009-08-27 4 views

ответ

12

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

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

  • локатор: элемент локатора

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

И:

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

  • локатор: элемент локатор
  • coordString: определяет х, у позиции (т.е. - 10,20) из мышь событие относительно возвращаемого элемента с помощью локатора.

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

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

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


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

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

+0

Спасибо за быстрый ответ – 2009-08-27 10:50:49

+0

Добро пожаловать :-) –

1

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

3

Я заметил некоторые различия между 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)

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

+0

+1. У меня такая же проблема с приложением Senchatouch, и с помощью click_at решены проблемы – matley

+0

Это правильно. Интересно, что ClickAt также работает без координат. Это довольно важно, потому что выбор предметов из выпадающих меню «chozen» работает только с ClickAt, но не с Click! –

0

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

1

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

1

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

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