есть некоторые тесты автоматизации пользовательского интерфейса.
Два объекта - два узла одного и того же дерева. Имейте свои идентификаторы автоматизации.
Есть ли способ перетаскивания из одного узла в другой?
public void WhenIDragAndDropFromOneToAnother( AutomationElement firstNode, AutomationElement secondNode )
{
DoMouseLeftPressByAutomationID( element1 );
DoMouseLeftUnPressByAutomationID( element2 );
}
public void DoMouseLeftPressByAutomationID( AutomationElement element )
{
System.Windows.Point clickablePoint = element.GetClickablePoint();
SetCursorPos( (int)clickablePoint.X, (int)clickablePoint.Y );
mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );
}
public void DoMouseLeftUnPressByAutomationID( AutomationElement element )
{
System.Windows.Point clickablePoint = element.GetClickablePoint();
SetCursorPos( (int)clickablePoint.X, (int)clickablePoint.Y );
mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );
}
Нет перетаскивания.