我正在使用Java + Selenium为Web应用程序编写自动化测试。
在该测试中,我需要上传证书以登录Web应用程序。 为了上传文件,我使用AutoIt脚本,如下所示:
Local $hWnd = WinWaitActive("Upload file")
WinActivate($hWnd)
ControlSend ($hWnd, "", "", "C:\my_cert.p12")
Sleep(5000)
Send("{ENTER}")
Exit
我从Java测试运行这个脚本,它在我的电脑上完美运行(Windows 10)。
当我在远程PC(Windows 7)上从Jenkins运行我的Java测试时,当我使用远程桌面连接管理器连接该PC时,它可以正常工作,并查看它是如何工作的。
但是当我最小化远程桌面管理器(或关闭它)并再次运行测试时,它会在AutoIt脚本需要将文件路径插入上载窗口时卡住。看起来脚本没有看到上传窗口并继续等待它。
我尝试过使用java.awt.Robot,但结果相同。
如果有帮助:AutoIt检测到上传文件窗口有一个名为SunAwtDialog的类。