Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Automation 除非窗口打开,否则在VM上运行测试不会工作_Automation_Virtual Machine_Remote Desktop_Leanft - Fatal编程技术网

Automation 除非窗口打开,否则在VM上运行测试不会工作

Automation 除非窗口打开,否则在VM上运行测试不会工作,automation,virtual-machine,remote-desktop,leanft,Automation,Virtual Machine,Remote Desktop,Leanft,我们正在尝试远程测试,所以我们设置了一些虚拟机来运行GUI测试并释放本地机器。我们所希望的是让测试像在物理机器上一样运行,但是它们似乎需要活动远程桌面连接才能正常运行。这些测试是使用LeanFT编写的,它是一个windows应用程序,因此这不是移动GUI测试 是否有某种方法可以配置此VM以正确设置它,以便进行不需要活动远程桌面连接的自动GUI测试?似乎它在我们的物理机器上共享控制 还是我完全错了。。远程计算机与虚拟机不同吗?谢谢 可以在没有活动远程桌面连接的情况下运行GUI测试 我使用leanf

我们正在尝试远程测试,所以我们设置了一些虚拟机来运行GUI测试并释放本地机器。我们所希望的是让测试像在物理机器上一样运行,但是它们似乎需要活动远程桌面连接才能正常运行。这些测试是使用LeanFT编写的,它是一个windows应用程序,因此这不是移动GUI测试

是否有某种方法可以配置此VM以正确设置它,以便进行不需要活动远程桌面连接的自动GUI测试?似乎它在我们的物理机器上共享控制


还是我完全错了。。远程计算机与虚拟机不同吗?谢谢

可以在没有活动远程桌面连接的情况下运行GUI测试

我使用leanft通过以下两个步骤实现了这一点:

  • 配置如何执行测试
  • 无论您是通过Jenkins slave运行,还是通过另一种“侦听器”(可能是ssh或Bambon等)运行,都需要将此侦听器配置为在特定用户登录后启动

    在我的例子中,我运行的是Jenkins从机,因此我已经配置了从机的启动,以便用户登录后立即启动

  • 告诉windows在计算机启动时登录用户。您可以通过以下注册表实现这一点:

    Windows注册表编辑器5.00版
    [HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
    “DefaultDomainName”=“域”
    “DefaultUserName”=“用户名”
    “AutoAdminLogon”=“1”
    “DefaultPassword”=“密码”
    

  • 核心要求是您需要有一个活动会话(无论您是使用Jenkins、TeamCity、Grid还是其他工具来启动测试)

    对于您的虚拟机,您需要访问控制台。对于VMWare vSphere,有一个本机客户端或网站。对于VMWare Workstation或VirtualBox,它们会自动显示

    使用控制台访问,登录系统并将其设置为永不注销、睡眠或休眠。这是多种操作系统设置,您可以查看


    基本上,这些框需要始终登录。通过此设置,您需要确保对这些系统的访问受到控制,这样您就不会有随机的人登录/注销。

    “远程机器”只是指不是您当前操作系统的计算机。“虚拟机”是在另一个操作系统中运行的计算机。您可以将远程桌面安装到同一机箱上的虚拟机中。是否将远程桌面配置为在会话结束时自动注销?如果它注销,那么任何应用程序(包括您的测试)都将终止,只有服务仍在运行。应该有一种方法可以将远程桌面配置为在断开连接时不执行任何操作,或者最多在断开连接时锁定机器,而不是注销。@MikeNakis,这是正确的,但是-即使窗口最小化,我们也会遇到问题,因为找不到元素。虚拟机确实需要显示才能工作