[英]How do I run a coded UI Test using Jenkins?
在过去的几天里,我一直在努力思考如何直接从Jenkins Job中运行编码的UI测试。 由于我对詹金斯很陌生。 我计划使用测试控制器和代理来运行jenkins作业,它们都与存储我的项目的本地VS项目存储库安装在同一台计算机上 。
我的目标是得到一个Jenkins Job来运行与我的桌面直接交互的编码ui测试。
测试规格:
1. VS Enterprise 2015
2. Agents for MS 2013
3. Jenkins 1.69
到目前为止,我所做的事情是下面的内容(这是我从Jenkins运行的批处理命令,该命令已从如何使用批处理文件从Visual Studio命令提示符下的“如何运行已编码的UI测试文件”中复制? ),该命令在通过CMD运行时成功运行:
@echo off
:: Running tests without VS Enterprise is possible if you install the Test Agent package: https://msdn.microsoft.com/en-us/library/dd648127.aspx
set test_runner="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
set test_dlls="C:\Location\Compiled\Tests\Project.CodedUI.Test.dll"
:: If tests is set then only these comma separate test cases are run
:: set tests="Test1,Test2"
set tests=""
if %tests% == "" (
%test_runner% %test_dlls% > CodedUITestResults.txt
) else (
%test_runner% %test_dlls% /tests:%tests%
)
pause
我在Windows机器上使用本地存储库(不是TFS或GIT,因为这不是必需的),这是在运行脚本时成功执行编码的ui测试的。
但是,在复制jenkins中的步骤时,我会收到此错误(即使在.settings文件中使用VS配置测试控制器之后):/
为测试类CodedUITest调用初始化方法时出错:Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException:若要运行与桌面交互的测试,必须将测试代理设置为作为交互式进程运行。 有关更多信息,请参阅“如何:设置测试代理以运行与桌面交互的测试”( http://go.microsoft.com/fwlink/?LinkId=159018)/
我的问题是:
MS测试控制器和代理存在很多故障,并且没有适当的文档。 这就是为什么我的公司开发了一种免费的开源替代方案。 你可以找到它这里- http://meissarunner.com还有就是文档的链接它会很容易为你设置。 由于它使用.NET核心,因此您需要指定一个附加参数,以提及您使用的.net Framework版本--nativeRunnerArguments =“-framework = net462”,您可以在此处找到框架的完整列表-https :// docs。 microsoft.com/zh-cn/dotnet/standard/frameworks如果您有任何问题,请给我写信。
在服务器模式下启动Meissa:
meissa.exe initServer
然后启动一个代理:
meissa.exe testAgent --testAgentTag="APIAgent" --testServerUrl="http://IPServerMachine:5000"
在詹金斯工作中,开始跑步:
meissa.exe runner --resultsFilePath="pathToResults\result.trx" --outputFilesLocation="pathToBuildedFiles"
--agentTag="API" --testTechnology="MSTestCore"
--testLibraryPath="pathToBuildedFiles\SampleTestProj.dll"
这有点晚了,但是要使代理与桌面进行交互,您需要做的就是在代理的设置上选中“以交互方式运行”复选框。 如果它们都在同一框中,则您不需要主服务器和代理。 我认为您可以更改jenkins服务以与桌面进行交互。 希望这对某人有帮助。 特工和大师的作品,但我一定会去看看meissarunner的,看看是否更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.