如何以编程方式创建DragEvent?

时间:2013-12-10 14:52:36

标签: html5 angularjs testing drag-and-drop

This page描述了以编程方式创建事件的api。查看列表,表明Chrome和Safari不支持此api来创建DragEvents。

我正在尝试为角度应用中的原生html5拖放行为编写自动化测试。我如何以编程方式模仿拖放事件,以便我可以这样做?

2 个答案:

答案 0 :(得分:0)

您可能想要使用动作链(来自selenium):https://code.google.com/p/selenium/wiki/AdvancedUserInteractions#Generating_Action_chains

我们过去在非angularjs应用程序中使用它们进行拖放操作。无论如何,作为量角器(用于测试e2e应用程序的angularjs defacto工具)使用selenium webdriver,我打赌你甚至可以使用量角器(https://github.com/angular/protractor)来实现它(使用对象“browser.webdriver”。

来自量角器doc:

  

browser.get方法加载页面。 Protractor期望Angular出现在页面上,因此如果它试图加载的页面不包含Angular库,它将抛出错误。 (如果您需要与非Angular页面进行交互,可以使用browser.driver直接访问包装的webdriver实例。)

答案 1 :(得分:0)

最好使用以下量角器API:

https://code.google.com/p/selenium/source/browse/javascript/webdriver/actionsequence.js

您很可能想要使用以下模式:

this