首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AngularJS e2e testing中测试拖放功能

如何在AngularJS e2e testing中测试拖放功能
EN

Stack Overflow用户
提问于 2014-04-10 17:40:37
回答 3查看 7.4K关注 0票数 9

我正在尝试测试我的应用程序,我需要将小部件从一个位置移动到另一个位置,换句话说,我需要在端到端测试中测试拖放功能。

我该如何测试呢?

EN

回答 3

Stack Overflow用户

发布于 2014-08-07 01:50:04

我也有同样的问题。我的解决方案是遵循这里的Selenium问题中的建议:https://code.google.com/p/selenium/issues/detail?id=3604#c20

从@nilsK的例子开始,这是我的解决方案:

代码语言:javascript
复制
var yourOffset = {x:5,y:5};
ptor().actions()
    .mouseMove(yourElement,yourOffset)
    .mouseDown()
    .mouseMove(yourElement,{x:0,y:0}) // Initial move to trigger drag start
    .mouseMove(youTarget[,targetOffset]) // [] optional
    .mouseUp()
    .perform();

我认为这也解决了this issue

票数 4
EN

Stack Overflow用户

发布于 2014-04-10 17:58:21

你需要链接你的鼠标动作:

代码语言:javascript
复制
var yourOffset = {x:5,y:5};
ptor().actions().
   mouseMove(yourElement,yourOffset).
   mouseDown().
   mouseMove(youTarget[,targetOffset]). // [] optional
   mouseUp().
   perform();
票数 1
EN

Stack Overflow用户

发布于 2014-04-10 23:05:53

您可以使用ptor.actions().dragAndDrop(el1, el2).perform();

我在自己的应用程序中有一个来自测试套件的example

代码语言:javascript
复制
/**
 * Reorders questions by dragging and dropping.
 */
this.moveQuestion = function (questionToMove, positionToMoveTo) {
    return page.getQuestionField(positionToMoveTo).then(function (dest) {
        page.getDragHandle(questionToMove).then(function (dragHandle) {
            ptor.actions().dragAndDrop(dragHandle, dest).perform();
            ptor.sleep(800);    // wait for animation
        });
    });
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22984267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档