我可能在这里遗漏了一些明显的东西,但是我的 mvc Web 应用程序已使用 localhost 在我的开发机器上使用 specflow UI 测试成功测试,但我无法让它在 VSTS 中的 CI 构建管道上工作?
这是我的设置,1 x Asp.Net 解决方案包括:
- 1 个 WebCalculator(简单地将 2 个数字相加的 MVC 应用程序)
- 1 个 UI Specflow 测试项目
在我的开发机器上:我可以在 Visual Studio 中使用 NUnit3TestAdapter 运行单元测试,我的网站运行在 localhost:58909
在 VSTS 上:在构建任务之后,Visual Studio 测试任务正在拾取 NUnit 适配器并尝试运行测试(使用 InternetExplorerDriver 服务器)但无法找到我的网站在 localhost 上运行它似乎:
这是输出:
2017-04-03T09:02:31 Starting test execution, please wait...
2017-04-03T09:02:32 Information: NUnit Adapter 3.7.0.0: Test execution started
2017-04-03T09 Information: Running all tests in C:\a\1\s\WebCalculator.UiTestsNUnitRunner\bin\Release\WebCalculator.UiTestsNUnitRunner.dll
2017-04-03T09:02:32 Information: NUnit3TestExecutor converted 3 of 3 NUnit test cases
2017-04-03T09:02:33 Started InternetExplorerDriver server (32-bit)
2017-04-03T09:02:33 3.0.0.0
2017-04-03T09:02:33 Listening on port 1065
2017-04-03T09:02:33 Only local connections are allowed
2017-04-03T09:03:54 Started InternetExplorerDriver server (32-bit)
2017-04-03T09:03:54 3.0.0.0
2017-04-03T09:03:54 Listening on port 1123
2017-04-03T09:03:54 Only local connections are allowed
2017-04-03T09:03:54 Failed AddTwoNumbers("50","70","120",System.String[])
2017-04-03T09:03:54 ##[error]Error Message:
2017-04-03T09:03:54 ##[error] OpenQA.Selenium.WebDriverTimeoutException : Timed out after 10 seconds
2017-04-03T09:03:54 ##[error] ----> OpenQA.Selenium.NoSuchElementException : Unable to find element with id == summandOne
所以我的问题是,Visual Studio 测试任务是否足够聪明,可以针对我的网站进行测试,该网站是 localhost:58909 解决方案的一部分?
Specflow 测试是否指向 XXX.azurewebsites.net 网址,所以我开始认为一起构建网站和执行 UI 测试(就像我正在尝试的那样)不是正确的方法?
当您想对网站运行 Specflow 测试时,是否需要先构建并将其发布到托管环境?