我们正在尝试远程进行测试,因此我们设置了一些虚拟机来运行我们的 GUI 测试并释放我们的本地机器。我们希望的是让测试像在物理机器上一样运行,但是它们似乎需要激活的远程桌面连接才能正常运行。这些测试是使用 LeanFT 编写的,它是一个 Windows 应用程序,所以这不是移动 GUI 测试。
是否有某种方法可以配置此 VM 以正确设置它以进行不需要活动远程桌面连接的自动化 GUI 测试?似乎它共享我们物理机器上的控件..
或者我在这里完全错了..远程机器与虚拟机不同吗?谢谢!
我们正在尝试远程进行测试,因此我们设置了一些虚拟机来运行我们的 GUI 测试并释放我们的本地机器。我们希望的是让测试像在物理机器上一样运行,但是它们似乎需要激活的远程桌面连接才能正常运行。这些测试是使用 LeanFT 编写的,它是一个 Windows 应用程序,所以这不是移动 GUI 测试。
是否有某种方法可以配置此 VM 以正确设置它以进行不需要活动远程桌面连接的自动化 GUI 测试?似乎它共享我们物理机器上的控件..
或者我在这里完全错了..远程机器与虚拟机不同吗?谢谢!
可以在没有活动远程桌面连接的情况下运行 GUI 测试
我通过以下两个步骤使用leaft 实现了这一点:
无论您是通过 Jenkins slave 还是通过另一种“监听器”(可能是 ssh 或竹子等)运行,您都需要配置此监听器以在特定用户登录后启动。
就我而言,我正在通过 Jenkins 从站运行,因此我已将从站的启动配置为在用户登录后立即启动。
告诉windows在计算机启动时登录用户。您可以通过以下注册表来实现:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DefaultDomainName"="DOMAIN"
"DefaultUserName"="USERNAME"
"AutoAdminLogon"="1"
"DefaultPassword"="PASSWORD"
核心要求是您需要有一个活动会话(无论您是使用 Jenkins、TeamCity、Grid 还是其他工具来启动测试)。
对于您的虚拟机,您需要有权访问控制台。对于 VMWare vSphere,有一个本机客户端或网站。对于 VMWare Workstation 或 VirtualBox,这些会自动显示。
使用控制台访问,登录系统并将其设置为永不注销、睡眠或休眠。这是您可以查找的各种操作系统设置。
本质上,这些框需要始终登录。使用此设置,您需要确保对这些系统的访问受到控制,这样您就不会让随机的人登录/或注销。