Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在ui测试中设置应用程序窗口的大小和位置?_Swift_Cocoa_Frame_Xcuitest - Fatal编程技术网

Swift 如何在ui测试中设置应用程序窗口的大小和位置?

Swift 如何在ui测试中设置应用程序窗口的大小和位置?,swift,cocoa,frame,xcuitest,Swift,Cocoa,Frame,Xcuitest,一点背景:我最近在我的应用程序中实现了一个拖放行为,在这里我可以从NSTableView中的Finder中拖动项目。现在我想为这个新功能编写一些ui测试 总体思路是将finder窗口移到屏幕左侧,将my application窗口移到屏幕右侧,然后执行拖放操作。拖放本身不是问题,问题在于所提到的窗口布局的设置。我找不到一个方便的方法来调整和移动这两个窗口。来自.net,我期望类似于app.window.setSize(…)或app.window.moveTo(…) 到目前为止,我尝试的是: 由

一点背景:我最近在我的应用程序中实现了一个拖放行为,在这里我可以从NSTableView中的Finder中拖动项目。现在我想为这个新功能编写一些ui测试

总体思路是将finder窗口移到屏幕左侧,将my application窗口移到屏幕右侧,然后执行拖放操作。拖放本身不是问题,问题在于所提到的窗口布局的设置。我找不到一个方便的方法来调整和移动这两个窗口。来自.net,我期望类似于
app.window.setSize(…)
app.window.moveTo(…)

到目前为止,我尝试的是:

  • 由于我在Mac电脑上安装了磁铁,我尝试了简单的方法,并将关键事件(控制+选项+箭头)发送到窗口。这不起作用,发送击键结果会发出错误蜂鸣音。在测试过程中手动执行此操作是有效的,所以我不知道到底是什么阻止Magnet重新排列窗口,但我想这与测试框架有关。我并没有深入研究这个问题,因为无论如何这是一个廉价的解决方案

  • 根据屏幕尺寸拖动应用程序窗口的角,例如,对于左侧的窗口,我将角拖动到屏幕的左上角、左下角、中上角和中下角。这要求所有四个角在屏幕上都可见,但这是另一天的问题。解决方案通常是可行的,但问题是我从应用程序窗口的框架中获得的y坐标不是我所期望的。我确实通过
    app.windows.firstMatch.frame.origin
    接收到应用程序窗口的位置。x坐标看起来不错,但y坐标完全偏离(与我预期的不同)

我找不到很多关于
来源
框架
成员的资源。关于如何面对这个问题,或者在哪里可以找到关于XUITest框架及其基本概念的文档,有什么想法吗?在这种情况下,这种方法没有帮助。我只在苹果文档档案中找到了macOS(或当时的OSX)应用程序的坐标系