【发布时间】:2013-08-30 04:36:27
【问题描述】:
我在不同的机器上使用 Selenium 来自动测试 MVC Web 应用程序。
我的问题是我无法获取每台机器的基本 url。
我可以使用以下代码获取当前网址:
IWebDriver driver = new FirefoxDriver();
string currentUrl = driver.Url;
但是当我需要导航到不同的页面时,这无济于事。
理想情况下,我可以使用以下内容导航到不同的页面:
driver.Navigate().GoToUrl(baseUrl+ "/Feedback");
driver.Navigate().GoToUrl(baseUrl+ "/Home");
我使用的一种可能的解决方法是:
string baseUrl = currentUrl.Remove(22); //remove everything from the current url but the base url
driver.Navigate().GoToUrl(baseUrl+ "/Feedback");
有没有更好的方法可以做到这一点??
【问题讨论】:
-
只是为了确保我遵循这一点。示例:给定
http://www.google.com/something...而您特别地只想要http://www.google.com部分? -
当我运行应用程序时,它会转到诸如localhost:12345/Login 之类的URL(这将因机器而异),然后我希望驱动程序转到诸如localhost:12345/Feedback 之类的页面。所以我只想要localhost:12345 部分,因为我无法在我的代码中硬编码指向它的链接,因为它在每台机器上都会有所不同。