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



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

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

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

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

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

感谢

我在远程测试机上遇到了同样的问题,但我们的测试机运行在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"。机器应保持解锁状态,测试将正常运行。

根据@Zatricon的说法,该命令可以被概括为:

tscon.exe %sessionname% /dest:console

这个问题最简单的解决方案就是在我的测试环境中启用自动登录(根据操作系统的不同,有多种方法可以实现)。

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

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

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

来自MSDN:

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

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

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

  1. 创建一个虚拟环境
  2. 设置虚拟机,以便它们可以运行自动测试
  3. 安装测试控制器和测试代理。
    -将测试代理设置为运行为交互式过程,以便它可以运行CodedUi测试
    -将测试控制器设置为与Microsoft测试管理器一起运行
  4. 通过MTM创建测试计划,并在虚拟环境中运行巡回测试。现在不需要连接到远程服务器,因为您的测试将在运行测试代理的帐户下运行(注意:您应该创建一个用于测试的帐户)

这很容易,请查看这里的博客文章,这件事以非常简单的方式解释如何在没有MS TFS 的情况下安排Microsoft联合编写的UI测试执行

  1. 通过以下步骤创建稳定编码的UI项目的发行版i.打开构建>批量构建

ii。如果已经构建了版本,请单击"重建"

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

  2. 将这个dll放在远程机器上,您想在那里安排测试执行

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

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

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

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

  7. 用.bat扩展保存

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

  9. 成功执行后,打开windows任务调度程序,创建一个调度任务来运行这个创建的.bat文件。

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

更新:

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

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

注意:

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

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

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

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

首选解决方案1:有一个Hyper-V客户端,只需使用计划任务运行编码的UI测试。一点问题都没有。

--首选解决方案2:您需要2个虚拟机。首先从远程桌面到VM 1,然后从VM 1远程桌面到将运行编码UI的VM 2。一旦编码的UI在VM2中启动,只需断开VM 1的连接。这将保持会话打开,并且永远不会有任何问题

-不太受欢迎解决方案3:使用命令行重新启动VM。在您的虚拟机上启用了Make-sue自动登录。安排一个任务来运行编码的UI。

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

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

最新更新