selenium:找到基本网址

我在不同的机器上使用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");

有没有更好的方法可以做到这一点?

回答:

解决此问题的最佳方法是创建UriURL实例。

这是因为.NET中的Uri 类已经具有适当的代码来完全为您执行此操作,因此您应该使用它。我会喜欢的东西(未经测试的代码):

string url = driver.Url; // get the current URL (full)

Uri currentUri = new Uri(url); // create a Uri instance of it

string baseUrl = currentUri.Authority; // just get the "base" bit of the URL

driver.Navigate().GoToUrl(baseUrl + "/Feedback");

从本质上讲,你是后管局物业的内部Uri类。

请注意,有一个执行类似操作的属性称为Host,但是它不包括您的站点所使用的端口号。不过要记住一点。

以上是 selenium:找到基本网址 的全部内容, 来源链接: utcz.com/qa/410916.html

回到顶部