如何在没有RDP连接的情况下在虚拟机上运行预定的编码UI测试

时间:2015-06-16 14:35:14

标签: powershell visual-studio-2013 virtual-machine coded-ui-tests microsoft-test-manager

简短的情况:

  • 安装了Visual Studio 2013的虚拟机。 PowerShell脚本 在VM上运行以执行获取最新,构建和执行编码的UI 试验。 Windows计划任务每​​晚执行PowerShell。
  • 启用了自动登录(或者我做错了什么?)
  • 是的,我看过帖子Is it possible to run Coded UI tests without having to connect via remote desktop?
  • 我看过有关TCM的帖子。这有用吗?我怎样才能在我的网站上使用它 情况?

我在Microsoft Test Manager中进行了一些测试,我也执行并记录了它们。 我已经在测试项目中加载了这些测试(并更改了提供类别和自定义检查的脚本)。 然后我将这些分类(作为开发或验收)。 我在VM(安装了Visual Studio 2013)上使用PowerShell脚本执行了以下操作:

  • 获取最新信息
  • 构建
  • 使用mstest.exe
  • 运行带有选定集类别的最新版本

到目前为止,一切都很顺利。所有的测试都通过了。 但是,当我在我的VM上创建计划任务时,PowerShell脚本由于缺少会话而全部失败。 我是否拥有虚拟机(我不了解虚拟机)然后解锁或其他什么?

边注: 我还尝试用测试代理和控制器解决这个问题,但是一旦我安装了这些,TFS的所有其他用户都失去了他们的权利,所以我不想再这样做了。

如果您知道可以解决此问题的事情,我将非常感激。 我花了几个小时在谷歌找到解决这个问题的方法,但没有任何解决方案帮助我。

我是否需要提供更多信息?

2 个答案:

答案 0 :(得分:1)

您似乎遇到的问题是testagent设置不正确。您需要一个活动桌面会话才能运行Coded UI(它需要它来执行所有操作,例如点击)。

Microsoft提供了一些有关设置测试代理here.

的详细信息

但是为了解决由于缺少会话导致测试失败的确切问题,我建议如下:

  • 从sysinternals套件运行AutoLogOn.exe(可在http://live.sysinternals.com/找到)。它将在计算机启动时自动使用指定用户登录,并使桌面会话保持活动状态。

答案 1 :(得分:0)

好吧......我正在取得进展。 我已经安装了测试代理和控制器。这一切都运行良好。 接下来,我在自己的MTM上打开了Lab Center,以创建一个新的环境。

找到了测试控制器,但我收到了帖子"Microsoft Test Manager cannot install test agent on these machines" when creating new Lab Center environment

中的消息

启用了文件和打印机共享例外。我没有收到其他消息。 我不明白出了什么问题。 也许我完全走错了路,没有必要使用实验中心。 然后唯一剩下的问题是非活动桌面问题。