【问题标题】:How to automatically start ASP.NET MVC web app before executing Selenium Web-driver tests?如何在执行 Selenium Web 驱动程序测试之前自动启动 ASP.NET MVC Web 应用程序?
【发布时间】:2016-02-18 11:44:26
【问题描述】:
我想通过 MSTest 使用 selenium 驱动程序测试 ASP.NET MVC 网页。我想我需要启动 ISS 并以某种方式启动 Web 应用程序,获取 Web 应用程序的 url(某个端口的 localhost),然后开始测试。
有很多示例如何使用 selenium 驱动程序,但它们都适用于已配置的 url。
我的期望如下:
- 只要使用此 Web 应用程序克隆 git 存储库并在 Visual Studio 中打开解决方案,请单击运行所有测试。网络应用程序已启动并执行测试。
- 它还应该作为持续集成的一部分(例如与 Teamcity),其中这些单元测试是在不同的计算机上使用 MSTest 执行的。
- 如果此解决方案也适用于未安装 Visual Studio 的计算机(仅 nuget、MSBuild、MSTest 和各种 SDK),那就太好了。
【问题讨论】:
标签:
c#
selenium
iis
teamcity
mstest
【解决方案1】:
您应该可以在这里做一些事情。
1) 如果你有 Visual Studio,你可以编写一个 powershell 脚本来启动你需要运行测试的本地站点。 This may help you.
然后,您还需要创建一个脚本,该脚本将在站点启动后运行您的 selenium 脚本。我只使用 Microsoft WebTests 完成了这项工作,但我已经看到了与 Selenium 的相似之处。我会考虑从 powershell 脚本运行你的 selenium 脚本,然后将这两个结合起来,并有一个批处理文件,新用户只需单击它就可以运行测试。
2) 您当然可以从 TeamCity 运行这些脚本,只是可能需要一些额外的配置,例如在构建服务器上安装必要的工具。不过,TeamCity 已经内置了运行这些测试的工具,因此请利用它。