2010-12-16 69 views
5

我有一个Web应用程序和测试项目的解决方案。测试应用程序已经编写了Web应用程序的ui测试。如何在测试执行时让Web应用程序启动?在VS 2010中启动带有编码UI测试的Web应用程序

我已经试过

  • 添加TestSetup方法通过的System.Diagnostics.Process启动Web服务器。我不喜欢这样,因为它看起来笨重,并且编码的UI测试不适合继承。
  • 在测试设置中添加设置脚本以通过批处理文件启动Web服务器(同一命令行)。但批处理文件永远不会退出并最终超时。我已经尝试通过启动命令启动Web服务器,但这并不起作用 - 从命令行运行它时效果很好,但不能从测试设置安装脚本运行。

我想过也许只是在后台运行IIS并将其指向特定的文件夹。然后将该Web应用程序部署到该文件夹​​。并让测试项目针对IIS进行测试。

虽然这看起来很多工作。有一个更简单的方法。我想通过计划或持续集成在几个开发人员的计算机上以及TFS构建计算机上执行此操作。

有什么想法?

谢谢

+0

也很高兴知道如何从测试代码中获取URL。 – Sam 2013-07-05 03:54:33

回答

0

我配置了在IIS上托管的web项目(在项目属性中)。它只需要3或4次点击。它会提示创建一个虚拟应用程序。之后,构建并运行您的项目,它将永久托管在IIS上。因此,您可以启动Coded UI测试而无需手动启动Web服务器。

0

你可以做Gerardo Grignoli建议的东西,并在IIS中托管该网站,以便它始终开启。

你也可以启动web项目(如果你想调试你的测试,不用调试),然后运行/调试测试。在你的测试中,只需使用BrowserWindow.Launch(“localhost:appPort/whateverPageToStartOn”);只需根据您的IIS Express设置填写端口而不是appPort。

关于在TFS构建机器上运行它,这似乎可能是一个值得怀疑的事情。您可以从测试实验室测试已部署的网站(开发,测试,产品,等等)。微软测试管理器(MTM)是可以做到这一点的产品之一。

相关问题