Мне необходимо сделать клик в определенную координату (х;у). Как это можно сделать средствами WebDriver'a?
Покоординатный клик с помощью WebDriver
#1
Отправлено 28 марта 2011 - 10:32
Мне необходимо сделать клик в определенную координату (х;у). Как это можно сделать средствами WebDriver'a?
#2
Отправлено 28 марта 2011 - 14:10
Есть такая библиотека для эмуляции drag-n-drop'a (это аддон для jQuery)
https://github.com/e...jquery-simulate
Мы загружаем эту библиотеку в браузер с помощью script_execute, потом у нас есть написанный метод drag_drop, который с помощью этой самой библиотеки может нажать кнопку мыши в одних координатах, а затем отпустить в других. Соответственно, есть метод click_at, который нажимает и отпускает снопку мыши в одних и тех же координатах.
Реализация drag_drop'a примерно такая:
# библиотека загружается раньше
def drag_drop(self, element_id, x_coord, y_coord, delta_x, delta_y):
""" Simulates drag-n-drop operation within the specified element
script = """
$('#%s').simulate('drag', {x:%d, y:%d, dx:%d, dy:%d});
""" % (element_id, x_coord, y_coord, delta_x, delta_y)
self.execute_script(script)
правда, саму библиотеку тоже пришлось немного "подкрутить", чтобы оно нормально заработало
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#3
Отправлено 28 марта 2011 - 14:28
Спасибо за ответ. Но в моем случае можно использовать только WebDriver.
Сейчас у меня задача состоит в том, чтобы задать аргумент для подчеркнутого элемента click().Coordinates.
driver.getMouse().click();
click() может принимать параметры типа Coordinates
Но как задать Coordinates?
#4
Отправлено 29 марта 2011 - 08:35
Выглядеть это будет примерно так:
ActionChainsGenerator builder = ((HasInputDevices) driver).actionsBuilder();
Action action = builder
.moveToElement(elementLocator, xOffset, yOffset)
.click()
.build();
action.perform();
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#5
Отправлено 29 марта 2011 - 12:24
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных

