是否可以在不必通过远程桌面连接的情况下运行编码的UI测试?

时间:2012-07-31 16:13:00

标签: c# visual-studio-2010 .net-4.0 coded-ui-tests

我正在尝试自动化编码的UI测试。

我的测试控制器在远程测试服务器上启动测试,我通常通过远程桌面连接访问它。

是否可以在不必通过远程桌面连接的情况下运行Coded UI测试?

目前,测试仅在我通过远程桌面连接时运行,并且窗口必须打开。当我关闭远程桌面会话时,测试不会运行。

如果没有远程桌面无法运行编码的UI测试,如何通过远程桌面自动连接?

由于

8 个答案:

答案 0 :(得分:17)

我遇到了与远程测试机器相同的问题,但我们的测试机器在Hyper-V上运行。使用Hyper-V,解决方案只是通过Hyper-V而不是远程桌面连接进行连接,关闭Hyper-V连接不会锁定计算机。

另一个建议是绕过远程桌面自动锁定屏幕的事实。这里有一点点:http://homeservershow.com/remote-desktop-session-locks-workstation-after-exit.html

基本上,运行" tscon.exe RDP-Tcp#0 / dest:console"在要断开连接时从远程计算机的命令提示符。机器应保持解锁状态,测试运行正常。

根据@Zatricion,该命令可以推广:

tscon.exe %sessionname% /dest:console

答案 1 :(得分:4)

解决此问题的最简单方法是在我的测试环境中启用自动登录(根据操作系统,有多种方法可以执行此操作)。

启用自动登录后,当我重新启动测试环境时(使用'shutdown.exe / r'命令,可以编写脚本),测试环境会加载一个活动的,已登录的会话,因此测试可以成功运行。

对于我的夜间测试自动化,我在测试环境中启用了自动登录,并在测试执行之前安排了重启。

我对此方法没有任何问题 - 这意味着我不必通过远程桌面连接。

答案 2 :(得分:3)

来自MSDN

  

正在运行要运行编码的代理的计算机   UI测试无法锁定或具有活动的屏幕保护程序。

如果您通过Visual Studio运行CodedUi Tests(意味着在您的帐户下执行测试),我相信您必须通过远程桌面连接到远程测试服务器。

但是,您可以使用Microsoft Test Manager来运行测试:

  1. Create a virtual environment.
  2. Setup your virtual machines so they can run automated tests.
  3. Install the Test Controller and Test Agent.
    - 设置测试代理以 Interactive Proccess 运行,以便它可以运行CodedUi测试。
    - 设置测试控制器以与Microsoft测试管理器一起运行。
  4. Create a Test Plan通过MTM并在您的虚拟环境中运行巡回测试。现在无需在远程服务器中连接,因为您的测试将在运行测试代理的帐户下运行(注意:您应该创建一个用于测试目的)。

答案 3 :(得分:2)

这很容易请查看这篇博文,这里的内容以非常简单的方式解释 如何在没有MS TFS的情况下安排Microsoft coaded UI测试执行

  1. 按照以下步骤创建稳定编码的UI项目版本 一世。打开构建>批量构建
  2. II。如果已构建版本,请单击“重建”

    1. 成功构建编码的UI项目后导航到发布项目文件夹并复制以项目名称命名的testAutomated.dll

    2. 将此dll放在要安排测试执行的远程计算机上

    3. 将.dll放在远程计算机的某个目录中,例如我放在D:\ coadedUitest

    4. 在要执行测试的计算机上从此链接安装Miscosoft Test代理。 http://www.microsoft.com/en-us/download/details.aspx?id=38186

    5. 安装测试代理后,验证MS测试是否存在于位置

    6. 打开记事本并输入以下文字 d: cd coadedUitest set mstestPath =" C:\ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ IDE" %mstestpath%\ mstest /testcontainer:testAutomated.dll

    7. 使用.bat扩展名保存

    8. 双击打开.bat文件以验证是否执行了测试

    9. 成功执行后,打开Windows任务计划程序并创建计划任务以运行此创建的.bat文件。

    10. http://testingtoolstecniques.blogspot.com/2014/11/how-to-schedule-microsoft-coaded-ui.html

答案 4 :(得分:1)

更新:

使用VSO或TFS2015构建系统不再需要远程连接来运行测试。创建运行任务" Visual Studio测试代理部署"的构建或发布,然后运行"运行功能测试"任务。

最好的方法可能是,创建一个删除构建工件的构建,然后创建一个从工件部署网站并针对该网站运行Coded UI测试的版本。

注意:

  • 如果您手动启动远程连接,则运行将失败。
  • 如果您创建远程连接并断开连接而不是注销,则运行将失败。
  • 启用自动登录,重启仍会允许这些测试运行。
  • 使用Hyper-V,您可以看到运行测试的服务器的桌面,它是一个非常小的窗口,但可以让您了解服务器正在做什么。

答案 5 :(得分:0)

使用VNC查看/与机器交互(例如,TightVNC

答案 6 :(得分:0)

您可以使用VMware运行编码的ui测试。如果您最小化VM,测试仍将继续。

有关详细信息,请参阅此链接。 http://www.binaryclips.com/2016/03/coded-ui-tests-executing-test-case.html

答案 7 :(得分:-1)

- 首选 解决方案1:拥有Hyper-V客户端,并使用计划任务简单地运行编码的UI测试。没问题。

- 优选的 解决方案2:您需要拥有2个VM。第一个远程桌面到VM 1,然后从VM 1远程桌面到VM 2,其中Coded UI将运行。在VM2中启动Coded UI后,只需断开VM 1.这将使会话保持打开状态,并且永远不会出现任何问题

- 无首选 解决方案3:使用命令行重新启动VM。在您的VM上启用make sue自动登录。有一个计划任务来运行编码的UI。

我使用这种方法,发现我的一些测试中断了。

- 最不喜欢的 解决方案4:使用tscon.exe%sessionname%/ dest:console    我使用了这种方法,但无法保证您的测试不会出现任何问题