我正在尝试实现一个自动化框架,我想在python中运行一个脚本,通过在mac机器上使用ssh来启动windows .exe文件(例如记事本)。
我已经考虑过X11,openssh,freessh。
我可以运行python脚本,但由于我在Windows机器上没有GUI访问权限,因此无法看到记事本被启动。
此外,导出显示不是Windows的选项。
如果有人能让我知道如何实现这一点,我将非常感激。
提前致谢!
答案 0 :(得分:1)
这解决了我的问题:
感谢您的回答!
基本上只需要安装Cygwin SSH并使用屏幕来检索GUI。即使是基于Pyro / RPyC的架构也会有所帮助。
答案 1 :(得分:0)
一种选择是在OSX中使用Parallels,另一种是在服务器中使用RDP(Windows版本的SSH + VNC)。
(我不清楚你想要实现的目标)
答案 2 :(得分:0)
您可以使用AutoHotkey检测窗口是否存在。据我所知,你可以使用python中的AutoHotkey。我无法给出如何使用python中的AutoHotkey的确切链接(我不熟悉python)但是如果你搜索“autohotkey python”,谷歌中有很多链接。这是用于检测窗口是否存在的AutoHotkey代码,在这种情况下执行一些代码。
Loop
{
SetTitleMatchMode, 2 ;sets to window's title can contain WinTitle anywhere inside it to be a match. So we can match Notepad Wintitle only with "Notepad". In that case we dont need Notepad exact Wintitle.
IfWinExist, Notepad
{
;Here should be any code that is executed if window exests.
}
Sleep, 1000 ; That command allows to check window every 1sec(1000 milliseconds). You can change that value or complitly remove that command.
}
始终使用http://ahkscript.org/的AutoHotkey(当前版本,新官方网站)!来自autohotkey.com的AutoHotkey已过时!
答案 3 :(得分:0)
最可靠的解决方案可能是使用Jenkins。设置步骤非常简单:
一个重要的注意事项:
根据所测试应用程序的需要,您可能需要永久地让用户登录到Windows计算机(以便存在交互式桌面),并确保Jenkins代理程序在该用户会话中运行。过去,这种设置对我来说非常适合在Windows上测试GUI应用程序并将结果报告给Linux主机。
Jenkins的优势在于它非常好地将Windows应用程序的退出状态和文本输出传送回Jenkins服务器,以便服务器可以在出现任何问题时通知您。当不使用Jenkins时,这种系统设置起来非常脆弱和耗时。