📌  相关文章
📜  driver.get() 和 driver.navigate.to( ) 有什么区别 (1)

📅  最后修改于: 2023-12-03 15:30:33.915000             🧑  作者: Mango

区别介绍:driver.get() 和 driver.navigate.to()

在Selenium自动化测试中,driver.get()driver.navigate.to() 是两种常用的加载网页的方法。它们的作用很相似,但是有一些区别。

driver.get()

driver.get() 是WebDriver接口中提供的方法,可以用来加载指定的网址。该方法将会阻塞当前的测试脚本,直到页面加载完成才会继续进行后续的测试。

与传统的浏览器访问网页不同,driver.get() 方法是通过编程的方式访问网站的,因此可以在测试过程中检查页面的加载状态,执行JavaScript脚本等功能。该方法的调用方式如下:

driver.get("http://www.baidu.com")
driver.navigate.to()

driver.navigate.to() 也是WebDriver接口中提供的方法之一,和 driver.get() 方法一样,用来打开指定的URL地址。但是,driver.navigate.to() 支持浏览器的导航功能,可以实现前进、后退、重新加载等操作。

例如,我们可以使用 driver.navigate.to() 来实现后退到上一个页面:

driver.navigate.to("javascript:history.back()")

同时,driver.navigate.to() 方法不会阻塞当前的测试脚本,即使页面没有加载完成,也可以继续执行后续的测试。

区别总结
  • driver.get()driver.navigate.to() 的作用都是用来打开URL地址。
  • driver.navigate.to() 等价于浏览器的导航功能,可以实现前进、后退、重新加载等操作。
  • driver.navigate.to() 不会阻塞当前的测试脚本,即使页面没有加载完成,也可以继续执行后续的测试。
  • driver.get() 将会阻塞当前的测试脚本,直到页面加载完成才会继续进行后续的测试。
  • 在一般的自动化测试中,driver.get() 更常用,而 driver.navigate.to() 更适用于需要访问历史记录的场景。

综上所述,driver.get()driver.navigate.to() 都是常用的页面加载方法,应根据具体的测试场景选择合适的方法。