【问题标题】:Can't get Selenium drag and drop test to work (Java)无法让 Selenium 拖放测试工作(Java)
【发布时间】:2018-12-03 08:51:32
【问题描述】:

我正在尝试在 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 代码看起来像这样。所以我不确定我哪里出错了。

【问题讨论】:

  • 用相关的 HTML 更新问题

标签: java selenium drag-and-drop


【解决方案1】:

而不是:

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

试试:

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

我认为这应该可行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多