在UIAutomation中模拟绘图

时间:2012-02-03 17:46:36

标签: ios xcode ui-automation ios-ui-automation

我有一个应用程序,允许用户使用绘图功能写入区域,然后保存图像。有没有办法用UIAutomation模拟这个?

1 个答案:

答案 0 :(得分:0)

尝试使用内置函数dragFromToForDuration(from,to,timeout)。获取对象属性行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()来绘制一个点。 不幸的是,您只能使用此功能绘制线条。