无法使用量角器进行拖放

时间:2018-09-10 04:33:28

标签: javascript protractor

我需要通过拖放来对行进行重新排序,这是可以拖动的。

我尝试了以下代码,但无法正常工作。

this.reOrderMenu=function(menuName,order){
    var self=this;

    this.gridRow.filter(function(row){
        return row.$$('td').get(1).getText().then(function(name){
            return name===menuName;
        });
    }).then(function(selected){
        selected[0].$$('td:nth-child(1)').then(function(eles){
            browser.actions().mouseDown(eles[0]).perform();
            browser.actions().mouseMove(eles[0]).perform();
            browser.actions().mouseMove(self.gridRow.get(order)).perform();
            browser.actions().mouseUp(self.gridRow.get(order)).perform();  
            browser.sleep(3000);   
        });                  

    });

};

我将以下方法称为

it('TS_002, Get the menu order number before changing', function () {

    var orderAfter;
    menuConfig.findOrder(menuName).then(function(text){
        orderAfter=text-2;
        expect(text).toBeGreaterThan(0);
        browser.refresh();
        menuConfig.selectApplication(testData.selectAppName);
        menuConfig.reOrderMenu(menuName,orderAfter);
    });      


});

它没有显示任何错误,但是拖动功能不起作用。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

您需要首先链接所有动作​​,最后调用perform()方法。

您可以尝试以下代码段

browser
      .actions()
      .mouseMove(eles[0])
      .mouseDown()
      .mouseMove(self.gridRow.get(order))
      .mouseUp()
      .perform();

答案 1 :(得分:0)

Html-dnd

尝试将此模块用于HTML5拖放模拟。

答案 2 :(得分:0)

browser.actions().dragAndDrop(elem,target).mouseUp().perform();(Protractor)

elem是需要拖动的元素

目标是目的地。