当前位置: 首页 > 面试题库 >

selenium:找到基本网址

苍阳成
2023-03-14
问题内容

我在不同的机器上使用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,但是它不包括您的站点所使用的端口号。不过要记住一点。



 类似资料:
  • 在没有jenkins插件的情况下使用jenkins部署weblogic。 jenkins weblogic插件使用此命令。所以我试着用它。 但是如果我使用这个命令不使用插件,而只使用原始命令,就有错误。 错误:找不到基本类WebLogic.Deployer或无法加载WebLogic.Deployer。 上面的错误让人联想到是韩语,所以我翻译成了英语。错误下是詹金斯错误部分。 [WeblogicDe

  • 问题内容: 在(带有)中,我尝试使用以下语句通过基本身份验证访问我的网页: 但是Google Chrome浏览器在控制台中向我发出以下警告: [弃用]其URL包含嵌入式凭据(例如)的子资源请求被阻止。 在标记的链接中提到该支持已被删除: 在子资源请求中放弃对嵌入式凭据的支持。(已删除) 我现在的问题是,是否有另一种方法可以从Selenium进行基本身份验证? 问题答案: 对此进行了一些更新 : 在

  • 主要内容:自动化测试,为什么要进行自动化测试?,Web应用程序的测试自动化在继续学习本教程之前,先了解一些与应用程序的自动化测试相关的关键概念。 随着对高效软件产品的需求不断增长,每个软件开发团队都需要在将最终产品推向市场之前进行一系列测试。 测试工程师在软件产品发布之前努力捕获故障或错误,但交付的软件总是存在缺陷。 即使使用最佳的手动测试流程,最终的软件产品仍有可能存在缺陷或无法满足最终用户的要求。 自动化测试是提高软件测试的有效性,效率和覆盖范围的最佳方法。 自动化

  • 无法使用spring boot加载非常简单的JSP页面,无法找到404。 src/main/java/samplewebjsp应用程序。Java语言 src/main/java/WebController.java SRC/main/webapp/WEB-INF/jsp/welcome.jsp 即使调试器显示正在从控制器RequestMapping返回“welcome”,也会得到404。 白标签错

  •   一、Selenium的Java编程基本语法   在Selenium的基本语法中首先是需要定位到页面元素的,Selenium通过找寻到界面元素然后触发相应的时间,通过页面元素变化判断是否执行了相应的操作。   可以通过页面元素的属性获取相应的页面元素。   1.通过Identifier(id)定位元素   所给出的定位的HTML元素必须要有identifier,如果没有就会报告未找到相应元素的错

  • 问题内容: 我们正在升级到.NET Core,并且我们有一个使用Selenium进行某些任务的爬网引擎。我们使用它,并且在.NET 4.6.1中可以正常工作。 对于.NET Core,我们创建了一个控制台应用程序,并添加了以下软件包: 但是,当我运行代码时,出现以下错误: chromedriver.exe文件在当前目录或PATH环境变量上的目录中不存在。可以从http://chromedriver