Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为拖放式Java的selenium UI集成测试执行Javascript_Javascript_Jquery_Selenium_Drag And Drop_Wso2 - Fatal编程技术网

为拖放式Java的selenium UI集成测试执行Javascript

为拖放式Java的selenium UI集成测试执行Javascript,javascript,jquery,selenium,drag-and-drop,wso2,Javascript,Jquery,Selenium,Drag And Drop,Wso2,我正在从事一项任务,即用Java编写selenium的UI测试用例(自动化)。我有一个html页面,其中包含需要拖动到目标的元素。我试过用硒来做这个动作,它对我不起作用。因此,我寻找了另一种方法,我希望为UI上的拖放操作编写一个脚本,并使用selenium executeScript()方法执行该脚本。AFAIU此元素作为其元素的副本拖动(克隆),并将其放到需要的地方。有人能帮我写一个拖放动作的脚本吗 当我观察到拖放操作的级别时 单击并按住该图元 获取元素的副本(克隆)并移动到我们想要的地方 将

我正在从事一项任务,即用Java编写selenium的UI测试用例(自动化)。我有一个html页面,其中包含需要拖动到目标的元素。我试过用硒来做这个动作,它对我不起作用。因此,我寻找了另一种方法,我希望为UI上的拖放操作编写一个脚本,并使用selenium executeScript()方法执行该脚本。AFAIU此元素作为其元素的副本拖动(克隆),并将其放到需要的地方。有人能帮我写一个拖放动作的脚本吗

当我观察到拖放操作的级别时

  • 单击并按住该图元
  • 获取元素的副本(克隆)并移动到我们想要的地方
  • 将其释放到目标

  • p.S对于我需要拖动的元素(#g1)和我需要放置它的位置(#a),我都有一个唯一的id。

    您可以使用jquery.simulate.js,这是jquery在测试框架时用来模拟许多功能的库

    1) 首先,确保要拖放的所有元素都可以拖动。 2) 然后我们指出我们需要移动的元素(可拖动的元素)和需要拖放的目标元素(可拖放的元素)

    3) 使用jquery.simulate.js使用函数模拟拖放

    请参考下面的示例代码

    var dragableElement = $("#dragableElement");
    var dropableElement = $("#dropableElement");
    
    var dropableOffset = dropableElement.offset();
    var dragableOffset = dragableElement.offset();
    
    var dx = dropableOffset.left - dragableOffset.left;
    var dy = dropableOffset.top - dragableOffset.top;
    
    dragableElement.simulate('drag', {
            dx: dx,
            dy: dy
    });
    
    享受