2013-05-01 2 views
8

Прямо сейчас я использую драйвер селена с Capybara, но я бы хотел переключиться на использование Poltergeist. Тем не менее, многие интерфейсы, которые я тестирую, включают перетаскивание элементов в определенных местах на странице. Я написал следующий метод перетаскивания и сбрасывания, который работает в селене:Как перетащить с помощью полтергейста?

def drag_drop(page, draggable, droppable, xoffset, yoffset) 
    driver = page.driver.browser 
    driver.mouse.move_to(draggable.native, draggable.native.size.height/2, draggable.native.size.width/2) 
    driver.mouse.down 
    driver.mouse.move_to(droppable.native, droppable.native.size.height/2 + yoffset, droppable.native.size.width/2 + xoffset) 
    driver.mouse.up 
end 

Как бы идти о написании что-то подобное в полтергейст?

ответ

3

Я не знаю, это именно то, что вы ищете, но Capybara has an API for dragging, который поддерживает Poltergeist.

+2

Да, я пробовал это, но это недостаточно точно. Мне нужно уметь перетаскивать в координаты, а не только один элемент поверх другого. Если я просто использую 'drag_to', он не регистрируется как попавший в соответствующую область. – lobati

Смежные вопросы