UI自动化 Windows 用户登录

3
我有一个测试用例,需要在Windows用户界面上自动化用户操作。情景是Windows密码已经过期,当用户尝试登录系统时,将出现重置密码页面,用户输入新密码后登录成功。
现在我需要通过脚本完成此操作,好消息是我有一个运行在机器上的Python服务,如果需要可以向其传递命令以便在登录之前执行。
我已经进行了大量搜索,但没有找到类似的内容。如果有人可以指出与我的问题相关的具体信息,我将非常高兴。
对于这种UI自动化,我的参考点应该是什么?

3
我不认为这是可能的。登录提示出现在安全桌面上,出于明显的原因,我认为没有任何方法可以通过程序与其进行交互。 - Jonathan Potter
有没有类似于AutoIT或Python Sendkeys模块可以帮助我在那个屏幕上操作? - user1637781
你可以构建一个连接到 USB 并发送按键的机器人。 - zenpoy
1
http://www.autoitscript.com/forum/topic/13365-log-off-and-log-in-to-another-windows-account/ 这个链接可能很有启发性。 - Joran Beasley
VNC客户端如何接受用户名和密码,并使用这些凭据连接到远程计算机? - user1637781
1
你是想要自动化与Windows更改密码屏幕的交互吗?还是自定义应用程序的更改密码屏幕? - Aaron Jensen
1个回答

2
如果您想要自动化Windows登录界面,我认为是有可能的,但需要使用Windows服务来运行测试代码。听起来您可能已经在做这个了,因为您提到了一个Python服务,可以在Windows没有用户登录时运行命令。
无论如何,据我所知,Windows服务是唯一的方法(不禁用UAC或以其他方式修改默认的Windows安全配置)。
请参阅我的回答,其中提供了一些指导:UAC and remote control 如果您的Python代码正在以Windows服务的权限运行,则应该能够与系统上的任何UI交互(或者至少启动其他可以与安全UI交互的进程),包括Windows登录桌面。
唯一的问题可能是,为了与Winlogon桌面交互,您的测试代码可能需要使用CreateProcessAsUser函数启动一个单独的程序(并将“Winsta0 \ Winlogon”作为桌面参数传递)。不确定。
这个答案看起来也可能对您的情况有帮助:Running a process at the Windows 7 Welcome Screen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接