如何通过 Azure DevOps 管道执行 pywinauto 自动化脚本,因为它需要活动 GUI 来访问元素?

问题描述 投票:0回答:1

我开发了一个 pywinauto 自动化脚本来自动化桌面应用程序,并将其推送到存储库,以便通过代理计算机中的管道执行它,当我尝试在代理计算机中手动执行它时,它运行良好。但是当我尝试直接从管道执行它时,脚本无法识别元素。

我尝试过执行管道的传统方法,但失败了,因为我猜 pywinauto 要求应用程序位于其视野中才能访问元素。如何直接从管道执行我的代码?

File "features\steps\launch_app_steps.py", line 16, in step_given_User_is_logged_to_BOSS_with_SSO_login
2024-05-22T06:22:39.8642301Z           wait_until(timeout=55, retry_interval=0.7, func=lambda: context.signinWindow.exists())
2024-05-22T06:22:39.8643588Z         File "C:\Agent\Python\Lib\site-packages\pywinauto\timings.py", line 375, in wait_until
2024-05-22T06:22:39.8643885Z           raise err
2024-05-22T06:22:39.8644165Z       pywinauto.timings.TimeoutError: timed out
python automation azure-pipelines ui-automation pywinauto
1个回答
0
投票

您需要设置一个自托管代理并将代理配置为以交互模式运行。

要让代理有权执行自动化脚本和管理桌面应用程序,您可能需要将代理配置为使用本地帐户登录,而不是代理上的默认 Windows 内置帐户“

NT AUTHORITY\NETWORK SERVICE
”机器。本地帐户可以是管理员帐户,也可以是您登录机器的帐户。


© www.soinside.com 2019 - 2024. All rights reserved.