WPF, White Automation, перетаскивание мышью - PullRequest
1 голос
/ 04 мая 2011

В настоящее время я пытаюсь автоматизировать тестовый пример с помощью White UI-Automation Framework .
При этом у меня возникают проблемы с перетаскиванием.Я пытаюсь перетащить из кнопки в точку на экране, которую я рассчитываю на основе расположения двух других точек.

Что происходит, если кнопка нажата, и мышь перемещается в правильное положение, а затем приложение зависает, пока мышь не будет перемещена или нажата вручную, затем произойдет сброс и тест продолжится.Если мышь не получает никакого ручного взаимодействия, то приложение продолжает зависать.

Код выглядит следующим образом:

var criteria = SearchCriteria.ByText(xText);
var yLocation = window.Get(crite);
var yPoint = yLocation.ClickablePoint;
criteria = SearchCriteria.ByText(yText);
var xPoint = window.Get(crite).ClickablePoint;
var dropPoint = new Point(xPoint.X, yPoint.Y);
criteria = SearchCriteria.ByText(buttonName);
var button = (Button) window.Get(criteria);
Mouse.Instance.DragAndDrop(button, button.ClickablePoint,yLocation,dropPoint);

Любой код после этой последней строки не выполняется.

Заранее спасибо за любую помощь.

Ответы [ 2 ]

3 голосов
/ 05 октября 2011

Проверьте здесь: http://white.codeplex.com/discussions/271672

Эта страница показывает работу вокруг:

//Point the mouse for drag

Mouse.Instance.Location = draggedItem.ClickablePoint;

Mouse.LeftDown();

//Move the mouse a little down
Mouse.Instance.Location = new Point(draggedItem.ClickablePoint.X, draggedItem.ClickablePoint.Y + 1);

//Move to the new window
targetWindow.Focus();

//Set the point to drop
Mouse.Instance.Location = targetWindow.ClickablePoint;

//Drop
Mouse.LeftUp();
0 голосов
/ 04 мая 2011

Реального вопроса нет, но я могу попытаться дать вам (полезный?) Отзыв.

Я не знаю о платформе White-UI-Automation и не смог найти какую-либо полезную документацию, используя предоставленную вами ссылку. Я подозреваю, что DragAndDrop просто не вернется до завершения удаления. Это аналог работы DoDragDrop в WPF.

Если это так, я бы не сказал, что DragAndDrop зависает, скорее ваше приложение ожидает завершения сброса, прежде чем двигаться дальше.

// * Даниель 1007 *

...