2015-02-11 28 views
0

是否有Javascript或jQuery的任何示例已用于硒Webdriver Java?我遇到了使用硒进行拖放的问题。我希望使用下面的代码与JavaScript/jQuery执行拖放。我不能使用点击在我的测试脚本中执行拖放操作,所以我希望使用jQuery或Java脚本来执行拖放操作。我无法整合这两者。我只想要拖动的建议,并使用JavaScript或JavaScript(任何)和硒的webdriver代码的例子在同一个脚本jQuery/Javascript与seleniumw webdriver java

public void test(){           
    driver.findElement(By.id("addService")).click(); 
    driver.findElement(By.id("name")).sendKeys(name); 
    driver.findElement(By.id("identifier")).sendKeys(id); 
    driver.findElement(By.id("flowStatus")).clear(); 
    driver.findElement(By.id("flowStatus")).sendKeys(flow); 
} 

public void dragAndDropElement(WebElement dragFrom, WebElement dragTo) throws Exception { 


    Actions actions = new Actions(driver); 


    actions.clickAndHold(dragFrom).release(dragTo).build().perform();; 
} 

public void test() throws Exception { 


    WebElement dragFrom = driver.findElement(By.xpath("/html/body/div/div[2]/div[1]/form/fieldset/table[1]/tbody/tr/td[1]/div/div[1]")); 
    WebElement dragTo = driver.findElement(By.id("drop")); 

    dragAndDropElement(dragFrom,dragTo); 
} 
+0

这是你想要的吗? http://stackoverflow.com/questions/14210051/how-to-automate-drag-drop-functionality-using-selenium-web-driver – 97ldave 2015-02-11 14:16:36

+0

不,我已经试过所有这些真的只是寻找信息使用硒webdriver与JavaScript – TrevDroid 2015-02-11 15:46:54

回答

0

使用Actions类试过降?这里是docs。有多种方法,你可以拖动并使用它拖放元素,

Actions actions = new Actions(driver); 
actions.dragAndDrop(source,target).build().perform(); 

actions.clickAndHold(source).release(target).build().perform(); 

还有其他的方法,那么请docs,看看哪一个适用于你。使用WebDriver时一般应避免使用JavaScript。 WebDriver使用浏览器本地API,并模拟非常接近真实用户的用户交互。想想这个,你的用户不会执行一个JavaScript来做拖放操作。我建议只在所有其他WebDriver门都关闭时才使用它。

+0

我试过这个,它不起作用我试图将一个项目从一个div移动到另一个div。我试过使用它,它不起作用 – TrevDroid 2015-02-12 09:27:30