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

1 人关注

简而言之,情况是这样的。

  • 安装有Visual Studio 2013的虚拟机。PowerShell脚本 在虚拟机上运行,以执行获取最新、构建和执行编码的UI 测试。Windows调度任务每晚执行PowerShell。
  • 自动登录已启用(或者我做错了什么?)
  • 是的,我看过帖子 ,是否有可能在不通过远程桌面连接的情况下运行Coded UI测试?
  • 我看到了关于TCM的帖子。这是否有帮助,我如何在我的情况下使用它? 情况下使用吗?
  • 我在Microsoft Test Manager中做了一些测试,并执行和记录了它们。 我在一个测试项目中加载了这些测试(并改变了提供类别和自定义检查的脚本)。 然后我把这些分类(作为开发或验收)。 我在一个虚拟机上使用PowerShell脚本执行了以下操作(安装了Visual Studio 2013)。

  • 获取最新的
  • 使用mstest.exe运行最新的构建,并选定一个类别。
  • 到目前为止,一切都进行得很完美。所有的测试都通过了。 然而,当我在我的虚拟机上创建一个预定任务,运行PowerShell脚本时,一切都失败了,因为缺少一个会话。 我是不是把虚拟机(我对虚拟机没有任何了解)解锁了,还是什么?

    我也试图用测试代理和控制器来解决这个问题,但是一旦我安装了这些,TFS的所有其他用户都失去了他们的权限,所以我宁愿不要再这样做。

    如果你知道一些可以解决这个问题的方法,我将非常感激。 我花了几个小时在谷歌上寻找这个问题的解决方案,但没有任何解决方案能帮助我。

    我需要提供更多的信息吗?

    4 个评论
    计划任务是以什么用户身份运行的?你是以哪个用户的身份手动运行它的?
    都是管理员。或者我没有收到你的回复。如果你能给我留言,你可以用荷兰语和我交谈。
    额外说明......当使用RDP到虚拟机时,测试会运行,但只有在屏幕没有最小化或中断的情况下。我不希望使用远程桌面连接。
    在我看来,当测试运行时,你并没有一个活动的会话。这和你自己发布的链接中的问题是一样的。我不知道为什么最小化屏幕会有这种效果,所以有点不知所措。你可以尝试的一件事是有一台专门的物理计算机连接到虚拟机,并保持一个会话开放。你可以锁定物理设备以保持安全 (或多或少)
    powershell
    visual-studio-2013
    virtual-machine
    coded-ui-tests
    microsoft-test-manager
    Robert Maclean
    Robert Maclean
    发布于 2015-06-16
    2 个回答
    Thomas Bouman
    Thomas Bouman
    发布于 2017-05-23
    0 人赞同

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

    微软 在这里 有一些关于设置你的测试代理的好信息

    但要解决你的问题,即由于缺少会话而导致测试失败,我建议如下。

  • 运行sysinternals套件中的AutoLogOn.exe(可以在 http://live.sysinternals.com/) 。它将在机器启动时自动以指定的用户登录,并保持桌面会话处于活动状态。
  • Robert Maclean
    Robert Maclean
    发布于 2017-05-23
    0 人赞同

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

    找到了测试控制器,但 在创建新的Lab Center环境时, 我收到了这个帖子中的信息 "Microsoft Test Manager不能在这些机器上安装测试代理"