首页 > 解决方案 > 无法让 Selenium 拖放测试工作(Java)

问题描述

我正在尝试在 Java 中执行 Selenium 的 dragAndDrop 函数。现在,我正在测试这个页面。它包含一个图像和两个 div:

在此处输入图像描述

我现在正在尝试测试将图像拖动到绿色 div。我能够想出这个Java代码:

public static void main(String args[]) throws InterruptedException {
    System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("http://localhost:8012/dragTest/dragAndDropTest.html");

    Thread.sleep(1000);
    driver.manage().timeouts().implicitlyWait(2000, TimeUnit.SECONDS);

    //Element to be dragged
    driver.findElement(By.xpath("//*[@id=\"drag1\"]")).click();
    WebElement from = driver.findElement(By.xpath("//*[@id=\"drag1\"]"));

    //Element to drag to
    WebElement to = driver.findElement(By.xpath("//*[@id=\"div1\"]"));

    //Use Action class for drag and drop
    Actions builder = new Actions(driver);

    //Drag and drop drag1 to div1
    builder.dragAndDrop(from, to).perform();
    builder.build();
}

我能够运行测试,但没有任何反应。我添加了控制台日志来测试代码是否在拖动之前点击了图像,并且有效(点击有效),只是图像没有被拖动。

我环顾四周寻求帮助,并注意到很多拖放 Selenium 代码看起来像这样。所以我不确定我哪里出错了。

标签: javaseleniumdrag-and-drop

解决方案


代替 :

builder.dragAndDrop(from, to).perform();
builder.build();

尝试:

builder.dragAndDrop(from, to).build().perform();

我认为这应该有效。


推荐阅读