我目前正在测试一个对按键绑定做出反应的 GUI 应用程序。
在本地,我们可以使用 python 库运行测试
keyboard
,一切似乎都工作正常。
但是,当运行我们的 CI 管道时,我们使用 Gitlab + 远程 Windows 机器,并且应用程序没有检测到按键,就好像它们没有发生一样。
过去,我们在使用 CI 打开应用程序时已经遇到了问题,因为 Windows 似乎存在服务无法打开应用程序的限制,因此我们已经在远程计算机中使用套接字服务器来启动启动命令对于该应用程序,似乎它有效。 参考:https://stackoverflow.com/a/72686821/3524896
我认为同样的限制也适用于按键绑定,但我没有成功。具有讽刺意味的是,如果我使用 Win11 中的
Remote Desktop Connection
应用程序进行连接,则使用套接字服务器启动时按键绑定会按预期工作。
目前,我们的机器配置了自动日志,因此用户会话也应该始终处于活动状态。
鉴于所有这些信息,有没有人有任何建议或想法来使“模拟按键”起作用?
最后,我们没有将 gitlab-runner 作为服务,而是直接从远程计算机的终端运行 git。 如果没有与机器建立远程会话,这种方法似乎可以工作,所以:
我们甚至删除了套接字服务器,因为在此配置中,gitlab-runner 能够毫无问题地打开 GUI 应用程序