在过去的几天里,我一直在思考如何从Jenkins作业直接运行一个编码的UI测试。因为我对詹金斯很陌生。我计划使用测试控制器和代理运行jenkins作业,测试控制器和代理都安装在中,与存储我的项目的本地和项目存储库相同的机器。
我的目标是获得一个Jenkins作业来运行一个与我的桌面直接交互的编码ui测试。
用于测试的规范:
1. VS Enterprise 2015
2. Agents for MS 2013
3. Jenkins 1.69到目前为止,我所做的工作如下(这是我从Jenkins运行的批处理命令,我从How to run Coded UI test file from Visual Studio command prompt using batch file?复制了该命令),它在通过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配置测试控制器之后):/
调用测试类的初始化方法( Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException::)以运行与桌面交互的测试时,必须将测试代理设置为交互式进程。有关详细信息,请参阅“如何:设置测试代理以运行与桌面交互的测试”(http://go.microsoft.com/fwlink/?LinkId=159018)/
我的问题是:
发布于 2018-04-19 15:43:22
MS测试控制器和代理非常错误,没有适当的文档。这就是为什么我的公司开发了一种免费的、开源的替代方案。您可以在这里找到它-- http://meissarunner.com有一个指向文档的链接,在那里您可以很容易地设置它。由于它使用.NET核心,您需要指定一个额外的参数,提到您使用的.net框架版本--nativeRunnerArguments=-- Since =.net 462“您可以在这里找到一个完整的框架列表--如果您有任何问题,请删除https://learn.microsoft.com/en-us/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"发布于 2018-07-22 17:49:16
这有点晚了,但是要使代理与桌面交互,只需在代理的设置上选中复选框,以便在我交互过程中运行。如果它们都在同一个盒子里,你就不需要主人和特工了。我认为您可以将jenkins服务更改为也可以与桌面进行交互。希望这能帮上忙。经纪人和大师都在工作,但我肯定会去找梅萨伦纳看看是否更好。
https://stackoverflow.com/questions/45136813
复制相似问题