2017-01-12 60 views
2

我的公司有一個新的應用程序,它包含拖放。拖放是通過Dragula庫完成的。WebDriver拖放應用程序使用Dragula

我試圖自動執行此功能,但我沒有任何運氣。我已經嘗試了兩種內置DragAndDrop()方法的WebDriver(我的理解是它通常不能很好地與現代Web技術一起使用)。我嘗試構建自己的拖放操作。我也試着在javascript執行器中使用jquery。這兩種方法都沒有奏效。

任何人有任何建議嗎?

+0

我在這裏找到了一個工作:https://github.com/bevacqua/angular-dragula/issues/86然而這不起作用,因爲我們不能暴露我們的Dragula方法。 – Andrio

+1

你是什麼意思,你不能暴露你的Dragula方法?請提供[MCVE] –

+0

@JeremyThompson Dragula對象是在一個函數中創建的。爲了解決這個問題,它需要一個全局範圍。根據我們的開發人員,這是不可行的。 – Andrio

回答

0

如果DragAndDrop()方法不爲你工作,可以從Actions

IWebElement source; 
IWebElement target; 

Actions actions = new Actions(driver); 
actions.ClickAndHold(source).Perform(); 
actions.MoveByOffset(target.Location.X - source.Location.X, target.Location.Y - source.Location.Y).Perform(); 
actions.Release(target).Perform(); 

此建立自己的使用其他方法將垂直和水平滾動。

+0

感謝您的建議,但Actions類也失敗了。 – Andrio