在Jenkins下使用MSTest进行编码的UI测试失败

时间:2013-12-25 10:07:33

标签: jenkins continuous-integration coded-ui-tests

我正在使用Jenkins作为我的项目CI。在部署新构建时,将运行Coded UI(C#语言)开发的几个自动化测试用例。我在主(Windows)上创建了一个MSTest那些测试用例的工作(注意:在cmd下使用MSTest,测试用例可以成功运行)但是看到了以下问题:

错误调用测试类的初始化方法QuickUI.SmokeTests:Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException:要运行与桌面交互的测试,必须将测试代理设置为以交互方式运行处理。有关详细信息,请参阅“如何:设置测试代理以运行与桌面交互的测试”(http://go.microsoft.com/fwlink/?LinkId=159018

因此,
1)我需要使用Jenkins slave来运行测试用例吗? 2)如果是这样,如何配置因为dll需要首先复制到slave? 3)是否需要注意任何帐户或jenkins服务配置?

提前致谢。

2 个答案:

答案 0 :(得分:2)

听起来您需要在构建计算机上安装mstest。最简单的方法是在安装选择的测试代理时使用测试代理(http://www.microsoft.com/en-us/download/details.aspx?id=38186)。

(以下内容是从Coded UI build server integration process中的答案中复制而来)

  1. 您希望将CodedUI测试放在orderedTest中。右键单击解决方案 - >添加 - > orderedTest。
  2. 您希望安装https://wiki.jenkins-ci.org/display/JENKINS/MSTestRunner+Plugin这不是一项要求,但它可以让您在jenkins中更轻松地使用mstest。
  3. 此时您只需要在jenkins中配置插件即可运行orderedTest。它需要您指向mstest和您的orderedtest的位置。

答案 1 :(得分:1)

1)建议对slave进行测试 2)要运行GUI测试,请不要将从属服务器作为Windows服务运行 3)理论上你只需要运行奴隶代理。但是,登录的Windows帐户应该可以访问测试所需的所有资源。

您可以参考的其他一些主题,如果您想以无人值守的方式运行测试,请特别注意这一点。

Jenkins on Windows and GUI Tests without RDC