我有一个包含2个项目的解决方案。
这是我的测试文件:
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace SeleniuumTestSuite
{
[TestClass]
public class HomePageTest
{
private string baseURL = "http://localhost:56403/";
private static IWebDriver driver;
[AssemblyInitialize]
public static void SetUp(TestContext context)
{
driver = new ChromeDriver();
}
[TestMethod]
public void RemoteSelenium()
{
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(this.baseURL);
}
[TestCleanup]
public void Finally()
{
driver.Quit();
}
}
}
我需要在测试用例运行之前启动localhost项目,以便导航到localhost不会产生404.我发现this post似乎回答了这个问题,但我不知道是哪个库解决方案正在使用。
我尝试使用NuGet下载Microsoft.AspNet.WebApi.WebHost
,但如果我尝试private Server _webServer = new Server(Port, VirtualPath, SourcePath.FullName);
,则VS无法识别Server
并且不知道要导入哪个库。所以我有点被困在这里。
知道如何让它发挥作用吗?
答案 0 :(得分:1)
为了解决该问题,有必要同时运行两个项目,正如mrfreester在评论中指出的那样:
如mrfreester所建议,您可以使用两个Visual Studio实例,它将起作用。但是,要增强此解决方案并仅在一个Visual Studio实例中管理所有内容,您可以使用Debug.StartWithoutDebugging(默认键盘快捷键为ctrl + f5)运行主项目。这将为应用程序有效地运行服务器,而无需启动VS调试模式,从而允许您(和您的测试项目)正常使用该应用程序。即使关闭浏览器,该应用程序也将运行。
请注意:如果您正常启动应用程序调试,则当您停止执行时,服务器将停止,并且您必须重新启动而不进行调试才能再次通过测试。