VSTS 是否可以 运行 selenium UI 针对本地主机 Web 应用程序测试任务?

VSTS is it possible to run selenium UI test tasks against localhost web app?

我可能在这里遗漏了一些明显的东西,但我的 mvc 网络应用程序已使用 specflow UI 在我的开发机器上使用 localhost 测试成功测试,但我无法让它在 CI 上运行在 VSTS 中构建管道?

这是我的设置,1 x Asp.Net 解决方案包括:

在我的开发机器上:我可以 运行 在 visual studio 中使用 NUnit3TestAdapter 进行单元测试,我的网站 运行 位于 localhost:58909

在 VSTS 上:构建任务后,Visual Studio 测试任务正在获取 NUnit 适配器并尝试 运行 测试(使用 InternetExplorerDriver 服务器)但找不到我的网站 运行ning 在本地主机上似乎:

这是输出:

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\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 解决方案的一部分?

此处来自 MS 的示例:https://www.visualstudio.com/en-us/docs/test/continuous-testing/getting-started/continuous-test-selenium

Specflow 测试是否指向 XXX.azurewebsites.net url 所以我开始认为构建网站和一起执行 UI 测试(就像我正在尝试的那样)这不是正确的方法吗?

当您想要 运行 针对网站进行 Specflow 测试时是否属于这种情况 - 我需要先构建并将其发布到托管环境??

根据源和测试路径 (c:\a\s...),我假设您正在使用 Hosted Agent 并在 build 上进行测试经纪人。你做不到。

首先,托管代理 运行宁作为服务,它不能运行交互测试(硒UI测试)。

其次,本地主机表示测试机网站机机器。显然,您的网站不在 Hosted Agent 中 运行ning。

关于你说的那篇文章,网站是天蓝色的(baseURL=”https://partsumlimited.azurewebsite....),所以可以上网

您可以参考以下步骤来达到您的要求:

  1. 设置一个运行ning作为交互模式的本地构建代理(如果它是运行ning作为服务模式,你需要做测试在远程机器上,参考那篇文章部署代理,复制文件和运行测试)Deploy an agent on Windows
  2. 创建新的构建定义以使用该构建代理
  3. 添加 IIS Web 应用程序部署步骤 或其他以将您的 Web 应用程序部署到 IIS (Deploy your Web Deploy package to IIS servers using WinRM)
  4. 在测试代码中更改您的网站 URL(如果构建代理 运行ning 在同一台机器上,您可以使用本地主机)

注意:如果您想 运行 在远程机器上进行测试,远程机器需要可以从构建代理访问。