2013-08-27 206 views
0

我有一个ASP.Net MVC网络应用程序,将用于许多不同的机器。我希望将页面的URL作为字符串获取,然后使用Url进行硒自动测试。获取MVC网页的网址

我曾尝试使用下面的代码尝试:

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

但得到使用这种方法的错误“不设置到对象的实例对象引用”。

回答

0

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

无论如何,硒提供这个建在你只需要.Url财产上的驱动程序实例,例如:

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

这只能得到当前页面。我如何将驱动程序重定向到除了我正在使用的页面之外的其他页面? – user2184530

+0

@ user2184530,这是一个新问题,请在下次创建一个新问题,但我怀疑您的问题的答案在于'driver.Navigate()'方法。请同时查看[Selenium网站](https://code.google.com/p/selenium/),您的两个问题都有关于它们的文档......特别是[这里](http://selenium.googlecode。 com/git/docs/api/dotnet/html/M_OpenQA_Selenium_Remote_RemoteWebDriver_Navigate.htm)。 – Arran