如何使用pywinauto从在远程桌面上运行的应用程序接收事件

问题描述

使用pywinauto进行的自动化在带有鼠标/键盘和send_keys事件的远程桌面应用程序中运行良好。 但是我需要跟踪从远程桌面上运行的应用程序生成的事件,以建立条件用例。

例如,假设我在远程桌面上打开了一个excel文件,并使用pywinauto和send_keys函数,我可以在一些预定义的单元格中写入一些文本(使用鼠标坐标) )。

但是,当我单击excel中的退出按钮时,它将弹出一个窗口,询问我是否要在关闭前保存excel。我需要在pywinauto中捕获该事件。

enter image description here

pywinauto在我的本地计算机上运行,​​所有任务都将在远程桌面(win32)上发生。

注意:我不想用鼠标单击预定义的坐标来解决这种情况,因为实际上,基于我的应用程序的弹出窗口,我需要执行其他一些任务。

解决方法

远程桌面不会将任何GUI元素信息传递给本地计算机。因此,您必须在远程计算机上运行pywinauto脚本。所有必要的食谱都在这里:Remote Execution Guide