我必须在VM上远程运行Coded UI测试。我正在使用Mstest.exe来执行测试用例。现在,当我通过Windows调度程序运行它时,它失败了,因为它需要“Active Desktop”。
我读了一些我们需要使用测试代理的地方。但我不想配置测试代理和测试控制器只是为了设置“活动桌面”,他们能做的其他事情是什么?
好吧,设置测试控制器和测试代理并不难,这非常简单,也是最好的方法。您可以在此处找到安装指南:qazxsw poi
但是,即使使用控制器,仍然存在一些问题。
测试代理可以在服务或进程模式下运行。对于编码ui测试,您需要在过程模式下运行它(因为它需要在相同的Windows会话中)。但是当您使用远程桌面登录VM并关闭它时,目标计算机的桌面将保持锁定状态,并且无法继续进行测试。除非您登录,否则没有活动会话,测试控制器甚至无法启动。
有两种方法可以保持我所知道的活动桌面:
斯塔斯。
在虚拟机上运行CODEDUI测试(即使虚拟机处于最小状态),并且同时在虚拟机上和本地机器上运行,如下所示。
1)关闭计算机上打开的所有远程桌面会话。
2)在本地计算机中单击“开始”,然后选择“运行”在“运行”对话框中,键入regedit,然后按Enter键。注册表编辑器启动。
3)找到以下任何注册表项:
HKEY_CURRENT_USER ----->软件-----> Microsoft ----->终端服务器客户端(如果要更改用户帐户的RDC设置)
- 要么 -
HKEY_LOCAL_MACHINE ----->软件-----> Microsoft ----->终端服务器客户端(如果要更改所有帐户的RDC设置)
右键单击“终端服务器客户端”并选择“新建”--->“DWORD值”--->将名称命名为---> RemoteDesktop_SuppressWhenMinimized。 ---->右键单击此名称并选择“修改”--->在弹出窗口中输入'值数据'为'2'
就这样。现在,最小化计算机上的RDC窗口不会影响远程计算机的GUI,GUI仍可用于自动GUI测试。
你需要做以下事情:
1)设置自动登录。
2)禁用屏幕保护程序。
3)禁用所有应该干扰测试的东西,例如:关闭windows更新。
您无法通过正常的RDP连接运行CodedUI测试 - 您需要登录到控制台会话。假设您要运行测试的计算机是Hyper-V计算机,则可以使用Hyper-V虚拟机管理器登录到控制台会话。在某些情况下,使用/ admin参数运行远程桌面可能会起作用(但它不适用于我):
http://live.sysinternals.com/