Эмулировать рисование в UIAutomation - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть приложение, которое позволяет пользователю писать в область, используя функцию рисования, а затем сохранять изображение. Есть ли способ эмулировать это с помощью UIAutomation?

1 Ответ

0 голосов
/ 10 июля 2012

Попробуйте использовать встроенную функцию dragFromToForDuration (от, до, время ожидания).Получив строку свойств объекта origin.x и origin.y и size.width и size.height, которые вы сможете установить из и в координаты вашего чертежа.Вы даже можете попытаться нарисовать что-нибудь удивительное :)

Этот код нарисует линию в течение 3 секунд от верхнего левого угла до нижнего правого угла области рисования (по крайней мере, я надеюсь, что так и будет).Вы можете изменить параметр тайм-аута, чтобы рисовать быстрее или медленнее.

var drawingAreaObject = ...mainWindow().<yourObject>;

var drawingAreaObjectRect = drawingAreaObject.rect();

var xBeginDrawPoint = drawingAreaObjectRect.origin.x + 1;
var yBeginDrawPoint = drawingAreaObjectRect.origin.y + 1;

var xEndDrawPoint = drawingAreaObjectRect.origin.x + drawingAreaObjectRect.size.width - 1;
var yEndDrawPoint = drawingAreaObjectRect.origin.y + drawingAreaObjectRect.size.height - 1;

UIATarget.localTarget().dragFromToForDuration({x:xBeginDrawPoint, y:yBeginDrawPoint}, {x:xEndDrawPoint, y:yEndDrawPoint}, 3);

Вы также можете попробовать flickInsideWithOptions (я не уверен в этом, но теоретически это возможно) или tapWithOptions (), чтобы нарисовать точку.К сожалению, вы сможете рисовать только линии, используя эти функции.

...