C# 获取MVC网页的URL

C# 获取MVC网页的URL,c#,asp.net-mvc,url,selenium,C#,Asp.net Mvc,Url,Selenium,我有一个ASP.NETMVCWeb应用程序,将在许多不同的机器上使用。我希望以字符串形式获取页面的URL,然后使用该URL进行selenium自动测试 我已尝试使用以下代码: public static string getUrl() { Uri uri = HttpContext.Current.Request.Url; String absoluteUrlBase = uri.Scheme + "://" + uri.Host +

我有一个ASP.NETMVCWeb应用程序,将在许多不同的机器上使用。我希望以字符串形式获取页面的URL,然后使用该URL进行selenium自动测试

我已尝试使用以下代码:

public static string getUrl()
{ 
  Uri uri = HttpContext.Current.Request.Url;
  String absoluteUrlBase =
           uri.Scheme + "://" +
           uri.Host +
           (uri.IsDefaultPort ? "" : ":" + uri.Port);
  return absoluteUrlBase;
}

但使用此方法获取错误“对象引用未设置为对象实例”。

这是不必要的。您的错误可能是由于
HttpContext
为空

无论如何,Selenium提供了这种内置功能。您只需要驱动程序实例上的
.Url
属性,例如:

IWebDriver driver = new FirefoxDriver();
string currentUrl = driver.Url;

这仅获取当前页面。如何将驱动程序重定向到我所在页面以外的其他页面???@user2184530,这是一个新问题,请下次创建一个新问题,但我怀疑您问题的答案在于
驱动程序。导航()
方法。还请查看,您的两个问题都有相关文档…特别是关于导航的文档。