10

我必须在 VM 上远程运行 Coded UI 测试。我正在使用 Mstest.exe 执行测试用例。现在,当我通过 Windows 调度程序运行它时,它失败了,因为它需要“活动桌面”。

我读了几个我们需要使用测试代理的地方。但我不想配置测试代理和测试控制器只是为了设置“活动桌面”,我还能做些什么吗?

4

4 回答 4

13

好吧,设置测试控制器和测试代理并不难,这真的很容易,也是最好的方法。您可以在此处找到安装指南:http: //msdn.microsoft.com/en-us/library/dd293551.aspx

但是,即使您使用控制器,仍然存在一些问题。

测试代理可以在服务或进程模式下运行。对于编码的 ui 测试,您需要在进程模式下运行它(因为它需要在同一个 Windows 会话中)。但是,当您使用远程桌面登录 VM 并将其关闭时,目标计算机的桌面将保持锁定状态,并且无法继续进行测试。除非您登录,否则没有活动会话,测试控制器甚至都不会启动。

我知道有两种方法可以保持活动桌面:

  1. (推荐)从 sysinternals 套件运行 AutoLogOn.exe(可以在http://live.sysinternals.com/找到)。它会在机器启动后自动以指定用户登录,并保持桌面处于活动状态。
  2. 在非最小化窗口中保持远程桌面处于活动状态。很少有应用程序可以让多个远程桌面保持打开状态,并且保持连接应该可以解决问题。

斯塔斯。

于 2012-05-22T13:30:32.977 回答
0

您需要执行以下操作:

1) 设置自动登录。

2) 禁用屏幕保护程序。

3)禁用所有应该干扰测试的东西,例如:关闭Windows更新。

于 2014-05-19T12:00:54.687 回答
0

在虚拟机上运行 CODEDUI 测试(即使虚拟机处于最小化状态),并在虚拟机和本地机器上同时工作,请执行以下操作。

1) 关闭计算机上打开的所有远程桌面会话。

2) 在您的本地计算机上单击开始并选择运行。在“运行”对话框中,键入 regedit 并按 Enter。注册表编辑器启动。

3) 找到以下任何注册表项:

HKEY_CURRENT_USER -----> 软件 -----> Microsoft-----> 终端服务器客户端(如果您想更改用户帐户的 RDC 设置)

——或者——</p>

HKEY_LOCAL_MACHINE -----> 软件 -----> Microsoft -----> 终端服务器客户端(如果要更改所有帐户的 RDC 设置)

右键单击“终端服务器客户端”并选择“新建”--->“DWORD 值”---> 命名为 ---> RemoteDesktop_SuppressWhenMinimized。----> 右键单击​​此名称并选择“修改” ---> 在弹出窗口中输入“数值数据”为“2”

就这样。现在最小化您计算机上的 RDC 窗口不会影响远程计算机的 GUI,并且 GUI 仍可用于您的自动化 GUI 测试。

于 2016-02-29T13:44:15.210 回答
-1

您无法通过正常的 RDP 连接运行 CodedUI 测试 - 您需要登录到控制台会话。假设您要运行测试的机器是 Hyper-V 机器,您可以使用 Hyper-V 虚拟机管理器登录到控制台会话。在某些情况下,使用 /admin 参数运行远程桌面可能会起作用(但对我来说不起作用):

mstsc -v:SERVERIP -admin
于 2013-08-19T13:28:09.947 回答