我需要通过拖放来对行进行重新排序,这是可以拖动的。
我尝试了以下代码,但无法正常工作。
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);
});
});
它没有显示任何错误,但是拖动功能不起作用。任何帮助将不胜感激。
答案 0 :(得分:1)
您需要首先链接所有动作,最后调用perform()
方法。
您可以尝试以下代码段
browser
.actions()
.mouseMove(eles[0])
.mouseDown()
.mouseMove(self.gridRow.get(order))
.mouseUp()
.perform();
答案 1 :(得分:0)
尝试将此模块用于HTML5拖放模拟。
答案 2 :(得分:0)
browser.actions().dragAndDrop(elem,target).mouseUp().perform();(Protractor)
elem是需要拖动的元素
目标是目的地。