C # + Automation UI: самый простой способ перетаскивания с одного элемента управления на другой по их идентификаторам автоматизации? - PullRequest
1 голос
/ 26 марта 2019

есть некоторые тесты автоматизации пользовательского интерфейса. Два объекта - два узла одного и того же дерева. Имейте свои идентификаторы автоматизации. Есть ли способ перетаскивания из одного узла в другой?

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 );
}

Нет перетаскивания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...