我正在尝试自动化编码的 UI 测试。
我的测试控制器在远程测试服务器上启动测试,我通常通过远程桌面连接访问该服务器。
是否可以在无需通过远程桌面连接的情况下运行 Coded UI 测试?
目前,测试仅在我通过远程桌面连接时运行,并且窗口必须打开。当我关闭远程桌面会话时,测试不会运行。
如果在没有远程桌面的情况下无法运行编码的 UI 测试,如何通过远程桌面自动连接?
谢谢
我正在尝试自动化编码的 UI 测试。
我的测试控制器在远程测试服务器上启动测试,我通常通过远程桌面连接访问该服务器。
是否可以在无需通过远程桌面连接的情况下运行 Coded 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”。机器应保持解锁状态,测试将运行良好。
根据@Zatricion,该命令可以概括:
tscon.exe %sessionname% /dest:console
这个问题最简单的解决方案就是在我的测试环境中启用自动登录(根据操作系统有多种方法)。
启用自动登录后,当我重新启动测试环境(使用可以编写脚本的“shutdown.exe /r”命令)时,测试环境会重新加载一个活动的登录会话,因此测试可以运行成功地。
对于我的夜间测试自动化,我在我的测试环境中启用了自动登录,并在测试执行之前安排了重新启动。
我对这种方法没有任何问题 - 这意味着我不必通过远程桌面进行连接。
来自MSDN:
运行您要在其上运行编码 UI 测试的代理的计算机不能被锁定或具有活动的屏幕保护程序。
如果您CodedUi Tests
通过 Visual Studio 运行(意味着测试在您的帐户下执行),我相信您必须通过远程桌面连接到远程测试服务器。
但是,您可以使用它Microsoft Test Manager
来运行您的测试:
这很容易请在此处查看此博客文章这件事以非常简单的方式进行了解释如何在没有 MS TFS 时安排 Microsoft coaded UI 测试执行
ii. 如果已构建版本,请单击重新构建
成功构建编码 UI 项目后,导航到项目的发布文件夹并复制以您的项目名称命名的 testAutomated.dll
将此 dll 放在要安排测试执行的远程计算机上
将 .dll 放在远程机器的某个目录中,例如我放在 D:\coadedUitest
从此链接在您要执行测试的这台机器上安装 Miscosoft 测试代理。http://www.microsoft.com/en-us/download/details.aspx?id=38186
安装测试代理后,验证位置是否存在 MS 测试
打开记事本并输入以下文本 D: cd coadedUitest set mstestPath="C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE" %mstestpath%\mstest /testcontainer:testAutomated.dll
使用 .bat 扩展名保存它
通过双击打开 .bat 文件以验证是否执行了测试
成功执行后打开 windows 任务调度程序并创建一个计划任务来运行这个创建的 .bat 文件。
http://testingtoolstecniques.blogspot.com/2014/11/how-to-schedule-microsoft-coaded-ui.html
更新:
使用 VSO 或 TFS2015 构建系统不再需要远程连接来运行测试。创建运行“Visual Studio 测试代理部署”任务的构建或发布,然后运行“运行功能测试”任务。
最好的方法可能是,创建一个删除构建工件的构建,然后创建一个发布,从工件部署站点并针对该站点运行编码的 UI 测试。
笔记:
使用 VNC(例如,TightVNC)查看/与机器交互
您可以使用 VMware 运行编码的 ui 测试。如果您将 VM 最小化,测试仍将继续。
有关更多详细信息,请参阅此链接。 http://www.binaryclips.com/2016/03/coded-ui-tests-executing-test-case.html
--首选解决方案 1:拥有 Hyper-V 客户端并使用计划任务简单地运行编码的 UI 测试。完全没有问题。
--preferred 解决方案 2:您需要有 2 个虚拟机。第一个远程桌面到 VM 1,然后从 VM 1 远程桌面到运行 Coded UI 的 VM 2。在 VM2 中启动 Coded UI 后,只需断开 VM 1 的连接即可。这将使会话保持打开状态并且永远不会出现任何问题
-less 首选解决方案 3:使用命令行重新启动 VM。在您的 VM 上启用了自动登录。有一个计划的任务来运行编码的 UI。
我使用了这种方法,发现我的一些测试中断了。
-- 最不推荐的解决方案 4:使用 tscon.exe %sessionname% /dest:console 我使用了这种方法,但不能保证您的测试将毫无问题地运行