2014-09-26 2 views
0

Я использую watir-webdriver для автоматического тестирования.
Нам нужны тесты перетаскивания с нажатой клавишей управления нажатием клавиши до капли.Перетащите объект с нажатой клавишей управления до капли

мне нужно реализовать:
1. нажмите элемент 'а'
2. Начинайте перетаскивать
3. Нажмите SHIFT | управления
4. продолжать сопротивление
5. Падение к элементу 'б'

Может ли кто-нибудь помочь мне с этим?

ответ

1
require 'watir-webdriver' 

module Selenium 
    module WebDriver 
    class ActionBuilder 

     def hold(timeout) 
     @devices.merge!(:self => self) unless @devices[:self] 
     @actions << [:self, :sleep, timeout] 
     self 
     end 

    end # ActionBuilder 
    end # WebDriver 
end # Selenium 


begin 
    browser = Watir::Browser.new 
    browser.goto my_page 
    a = browser.div(id: "a") 
    b = browser.div(id: "b") 
    browser.driver.action.click_and_hold(a.wd).move_to(b.wd).hold(3).key_down(:shift).key_up(:shift).release.perform 
    #browser.driver.action.click_and_hold(a.wd).move_to(b.wd).hold(3).send_keys(:shift).release.perform 

ensure 
    browser.close 
end 

или при необходимости препарат с прессованной shiift (удержание)

browser.driver.action.key_down(:shift).click_and_hold(a.wd).move_to(b.wd).key_up(:shift).release.perform 
0
public class DragAndDropConcept { 
    public static void main(String[] args) { 

    WebDriver driver = new FirefoxDriver(); 
    driver.get("http://jqueryui.com/droppable/"); 

    driver.switchTo().frame(0);  

    Actions obj = new Actions(driver); 

    obj.clickAndHold(driver.findElement(By.xpath("//*[@id='draggable']"))) 
    .moveToElement(driver.findElement(By.xpath("//*[@id='droppable']"))) 
    .release().build().perform(); 

    } 
    } 
+0

Try этот код. Я думаю, что это полезно для u. Я оценил, проголосую за ответы. Если вы удовлетворены моим ответом. – DSL