如何测试应用程序之间的拖放功能?

问题描述:

我正在写一个Cocoa应用程序,它允许用户将内容拖到另一个应用程序。我想为此行为编写一个自动GUI测试。如何测试应用程序之间的拖放功能?

我可以使用CGDisplayMoveCursorToPoint()移动鼠标光标。如何发布mousedown和mouseup事件来模拟拖放操作?

CGEventRef down = CGEventCreateMouseEvent(eventSource, kCGEventLeftMouseDown,point, 0); 

     CGEventPost(kCGSessionEventTap, down); 

     CFRelease(down);