tfs - 为什么我的测试在构建服务器上运行时失败?

标签 tfs specflow

我的团队正在为我们的一个网站构建 SpecFlow 测试回归套件,并让测试在本地运行。我们一直在尝试让构建服务器(TFS 2013 构建服务器)在 checkin 代码时也能够运行这些测试。我们还没能让它发挥作用。

在本地,我们在 NUnit 框架上运行测试,我们认为它在构建服务器上的工作方式相同。构建服务器似乎只想在 VS Test Runner 上运行测试,而 VS Test Runner 每次都无法运行我们的 SpecFlow 测试。

如果我远程登录构建服务器并在 VS 中针对 SpecRun 运行 SpecFlow 测试,则测试将正常工作并通过。我们也一直在尝试构建定义,但没有任何运气。需要进行哪些设置才能在 checkin 代码时运行它?

这是我们的 SpecFlow 测试项目的模式匹配: enter image description here

下面是 VS Test Runner 尝试执行我们的 SpecFlow 测试之一时的构建输出图像: enter image description here

更新:我们已经在构建服务器上运行了测试。然而,我们实际尝试访问我们网站的测试不断生成以下错误:

测试方法 AccessTheNDCHomePage 抛出异常: OpenQA.Selenium.WebDriverException:对 URL http://localhost:7055/hub/session/ae10bda6-c46c-4c35-bd9f-f2f9400767ef/url 的远程 WebDriver 服务器的 HTTP 请求60 秒后超时。 ---> System.Net.WebException:操作已超时 在 System.Net.HttpWebRequest.GetResponse() 在 OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest 请求)

在网上查看后,这似乎可能是因为 Firefox 更新到版本 38 和/或最近的 Selenium/WebDriver 更新。有人有解决此问题的任何信息或提示吗?

最佳答案

如果您已经能够使用相同的解决方案来构建并运行其他 nUnit 测试,那么您可能只会遇到模式匹配问题。

构建指定了要在其中查找测试的程序集名称模式。如果将其更改为包含“spec”,那么您的测试将运行。

在 XAML 构建中它位于构建定义编辑器的进程选项卡上。在新的构建系统中,您选择“VS Test”任务并在那里进行编辑。

关于tfs - 为什么我的测试在构建服务器上运行时失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30804180/

相关文章:

testing - SpecFlow - 如何使用 NUnits TestCaseSource 属性等数据驱动测试?

c# - 从单元测试生成文档

bdd - MSpec 和 SpecFlow 什么时候用哪个?两者的优点/缺点是什么?

tfs - TFS:合并回主分支

visual-studio - TFS 将日志文件发布到 #/198/logs/msbuild/agent-2 时出错

.net - SpecFlow - 找不到一个或多个步骤的匹配步骤定义

.net - Autofact 对于 Specflow 的依赖注入(inject)

tfs - Team Foundation Server - 什么流程模板适合我?

sql-server - Team Foundation Server - 应用程序层到数据层 : Authentication, 模拟和授权

azure - 如何从 One VS 解决方案发布两个单独的 Azure 网站