【发布时间】:2015-06-18 16:04:22
【问题描述】:
我有一个问题,我无法拖动AndDrop 元素。 这个元素是 Angular Directive 中 jquery 的 dragAndDrop。 我使用 Protractor 2.10 和 Selenium 2.45。 我尝试了多种方式 dragAndDrop:
/**
*Draft dragAndDrop
*/
'use strict';
describe('DragAndDrop ', function() {
beforeEach(function() {
browser.get(browser.baseUrl);
browser.waitForAngular();
});
it('test', function(){
//var coordenadas = placaUno.getLocation();
var buttonStart = element(by.binding('landing-main-button-start')).click();
var placas= element(by.buttonText('Placas')).click();
//OK
//var placaUno = element.all(by.repeater('board in boards')).get(1);
//img placa to drag and drop
var placaUnoCSS = element(by.css('#hwtoolbox > div > ul > li:nth-child(1) > div.submenu-level > div > div > div:nth-child(1) > img'));
//space with drop placa
var espacioPlaca = element(by.css('#boardSchema'));
//First way -- not found
//browser.actions().mouseDown(placaUnoCSS).mouseMove(placaUnoCSS,espacioPlaca).mouseUp().perform()
//Second way -- not found
browser.actions()
.dragAndDrop(placaUnoCSS, espacioPlaca)
.perform();
//Third way -- not found
/*
browser.actions().dragAndDrop(
browser.findElement(by.css('#hwtoolbox > div > ul > li:nth-child(1) > div.submenu-level > div > div > div:nth-child(1) > img')),
browser.findElement(by.css('#protoboard-canvas'))).perform();
*/
browser.pause();
});
afterEach(function(){
});
});
是否需要在测试中调用原生 Jquery 事件?
而且一步一步调试,元素存在,点击OK,mouseDown就OK... DragAndDrope 语句可以,但不能在网站上拖放。
【问题讨论】:
-
您的问题不清楚。此代码中没有测试(
describe、it、expect...)。你在哪个浏览器上测试?您收到错误消息吗?browser.actions()应该像您使用它一样工作,但您也可以查看.dragAndDrop()包装器:github.com/angular/protractor/blob/… -
你好,这部分代码在it状态
-
“那么,你期待什么?”您应该为您的问题添加更多信息;)
-
你好,我添加更多信息。
-
您在哪些浏览器上进行测试?
标签: selenium protractor