拖拽时,Selenium WebDriver不按键。下降

时间:2015-05-26 10:56:16

标签: java selenium-webdriver

我必须测试一个场景,其中简单的拖放移动元素,按下CTRL键拖放复制元素。

手动测试副本的正确顺序是:

  1. 持有元素
  2. 移至目标元素
  3. 按CTRL
  4. 目标
  5. 的发布元素

    这是我的代码:

            Actions builder = new Actions(driver);
    
            Action dragAndDrop = builder.clickAndHold(element)
                    .moveToElement(target).keyDown(Keys.CONTROL)
                    .release().build();
    
            dragAndDrop.perform();
    

    问题是,结果是移动而不是复制。所以我猜它忽略了按键。

    你能告诉我我做错了什么吗?谢谢

1 个答案:

答案 0 :(得分:0)

我用机器人解决了我的问题。这是代码示例:

        Actions builder = new Actions(driver);
        Robot robot = new Robot();
        robot.setAutoDelay(500);

        Action drag = builder.clickAndHold(element).moveToElement(target)
                .build();

        drag.perform();

        robot.keyPress(KeyEvent.VK_CONTROL);

        Action drop = builder.release().build();
        drop.perform();
        robot.keyRelease(KeyEvent.VK_CONTROL);