首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Jenkins运行编码的UI测试?

如何使用Jenkins运行编码的UI测试?
EN

Stack Overflow用户
提问于 2017-07-17 05:52:23
回答 2查看 1.5K关注 0票数 2

在过去的几天里,我一直在思考如何从Jenkins作业直接运行一个编码的UI测试。因为我对詹金斯很陌生。我计划使用测试控制器和代理运行jenkins作业,测试控制器和代理都安装在中,与存储我的项目的本地和项目存储库相同的机器

我的目标是获得一个Jenkins作业来运行一个与我的桌面直接交互的编码ui测试。

用于测试的规范:

代码语言:javascript
复制
  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运行时成功地工作:

代码语言:javascript
复制
@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)/

我的问题是:

  • 为什么我的测试总是给我这个错误,尽管我的测试代理被设置为交互式的?
  • 另外,我如何让它从Jenkins运行,以便它作为一个交互过程直接与桌面交互?
EN

回答 2

Stack Overflow用户

发布于 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:

代码语言:javascript
复制
meissa.exe initServer

然后启动一个代理人:

代码语言:javascript
复制
meissa.exe testAgent --testAgentTag="APIAgent" --testServerUrl="http://IPServerMachine:5000"

在詹金斯的工作中,开始跑步:

代码语言:javascript
复制
meissa.exe runner --resultsFilePath="pathToResults\result.trx" --outputFilesLocation="pathToBuildedFiles" 
--agentTag="API" --testTechnology="MSTestCore" 
--testLibraryPath="pathToBuildedFiles\SampleTestProj.dll"
票数 0
EN

Stack Overflow用户

发布于 2018-07-22 17:49:16

这有点晚了,但是要使代理与桌面交互,只需在代理的设置上选中复选框,以便在我交互过程中运行。如果它们都在同一个盒子里,你就不需要主人和特工了。我认为您可以将jenkins服务更改为也可以与桌面进行交互。希望这能帮上忙。经纪人和大师都在工作,但我肯定会去找梅萨伦纳看看是否更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45136813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档