Selenium教程

Selenium WebDriver导航命令

WebDriver提供了一些基本的浏览器导航命令,使浏览器可以在浏览器的历史记录中向后或向前移动。
就像WebDriver提供的浏览器方法一样,我们还可以通过在Eclipse面板中键入driver.navigate()来访问WebDriver提供的导航方法。
Selenium WebDriver-导航命令
注意: 以" Navigation"作为关键字的方法被声明为Navigation命令。
给出一些Selenium WebDriver最常用的浏览器导航命令。

1、导航到Command

方法:
to(String arg0) : void
在WebDriver中,此方法将在现有浏览器窗口中加载一个新网页。它接受 String 作为参数并返回 void、
加载/浏览新网页的相应命令可以写为:
driver.navigate().to("www.lidihuo.com");
注意: 位于浏览器命令部分的获取命令(driver.get(URL);)与导航命令具有相同的功能。
(driver.navigate().to("www.lidihuo.com"); 

2、转发命令

方法:
to(String arg0) : void
在WebDriver中,此方法使Web浏览器可以在现有浏览器窗口中单击前进按钮。它既不接受任何内容,也不返回任何内容。
将浏览器历史记录的一页向前移动的相应命令可以写为:
 driver.navigate().forward();

3、返回命令

方法:
back() : void
在WebDriver中,此方法使Web浏览器可以单击现有浏览器窗口中的后退按钮。它既不接受任何内容也不返回任何内容。
将浏览器历史记录的一页带回的相应命令可以写为:
driver.navigate().back();

4、刷新命令

方法:
refresh() : void
在WebDriver中,此方法刷新/重新加载现有浏览器窗口中的当前网页。它既不接受任何内容也不返回任何内容。
将浏览器历史记录的一页带回的相应命令可以写为:
driver.navigate().refresh();
让我们考虑一个示例测试脚本,该脚本将涵盖WebDriver提供的大多数导航命令。
在此示例测试中,我们将自动执行以下测试方案:
调用Firefox浏览器 导航至URL: https://www.testandquiz.com/selenium/testing.html 单击"这是一个链接"链接(此链接会将您重定向到lidihuo网站) 使用 back 命令返回主页。 再次使用前进命令返回lidihuo网站 再次使用 To 命令返回首页 使用刷新命令刷新浏览器 关闭浏览器
出于测试目的,我们在URL下使用虚拟网页:
https://www.testandquiz.com/selenium/testing.html (您也可以将此虚拟网页用于Selenium测试实践)
第1步。。启动Eclipse IDE并打开我们在 WebDriver安装中创建的现有测试套件" Demo_Test"。 WebDriver教程的a>部分。 第二步。。右键单击" src"文件夹,然后从 New> Class 创建一个新的Class文件。 Selenium WebDriver-导航命令
将类名命名为" Navigation_command",然后单击"完成"按钮。
Selenium WebDriver-导航命令
Step3、让我们进入编码基础。
要调用Firefox浏览器,我们需要下载Gecko驱动程序并设置Gecko驱动程序的系统属性。
这是为Gecko驱动程序设置系统属性的示例代码:
// System Property for Gecko Driver System.setProperty("webdriver.gecko.driver","D:\\GeckoDriver\\geckodriver.exe" )
在那之后,我们必须使用DesiredCapabilities类来初始化Gecko驱动程序。
这里是使用DesiredCapabilities类来初始化Gecko驱动程序的示例代码。
// Initialize Gecko Driver using Desired Capabilities Class
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
WebDriver driver= new FirefoxDriver(capabilities);
结合以上两个代码块,我们将获得启动Firefox浏览器的代码段。
// System Property for Gecko Driver 
System.setProperty("webdriver.gecko.driver","D:\\GeckoDriver\\geckodriver.exe" );
        
// Initialize Gecko Driver using Desired Capabilities Class
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
WebDriver driver= new FirefoxDriver(capabilities);
之后,我们需要编写代码以使第二个测试场景自动化(获取所需的URL)
以下是示例代码,可导航到所需的URL:
//Navigate to the desired URL
driver.navigate().to("https://www.testandquiz.com/selenium/testing.html");
要使第三个测试场景自动化,我们首先必须在虚拟测试页面上唯一标识" This is a link"链接。
查找唯一标识元素的方法涉及检查HTML代码。
打开网址: https://www.testandquiz.com/selenium/在您的firefox浏览器中进行testing.html、 右键单击"这是一个链接"链接文本,然后选择"检查元素"。 Selenium WebDriver-导航命令
它将启动一个包含所有特定代码的窗口在开发中"这是一个链接"链接。从检查器文本框中选择链接文本的名称。
Selenium WebDriver-导航命令
用于通过其元素唯一标识Web元素的Java语法链接文字写为:
driver.findElement(By.linkText (<linktext>)
因此,为了在示例网页上找到链接文本,我们将使用其链接文本的值:
driver.findElement(By.linkText (<"this is a Link">))
现在,我们需要编写代码,然后单击链接文本。
这里是单击链接文本的示例代码。
// Click on the Link Text using click() command  driver.findElement(By.linkText("this is a Link")).click();
单击该链接会将浏览器窗口重定向到lidihuo网站的官方网页。
要使第四种测试方案自动化,我们必须还原第三种测试方案所执行的操作。为此,我们将使用 Back 命令撤消单击链接文本后执行的操作。
这是定向到lidihuo网站后返回首页的示例代码。
// Go back to Home Page
 driver.navigate().back(); 
现在,下一个测试场景需要我们再次执行第三个测试场景所执行的操作,即该窗口将再次定向到lidihuo网站。
以下是示例代码,可以再次转到lidihuo网站的官方网页。
// Go forward to Registration page
driver.navigate().forward();
现在,要使第六个测试场景自动化,我们将需要使用 To命令再次导航到虚拟网站的主页。
这是返回首页的示例代码。
// Go back to Home page
driver.navigate().to(appUrl);
要刷新浏览器窗口,请使用 Refresh命令:
// Refresh browser
driver.navigate().refresh();
最后,给定的代码段将终止该过程并关闭浏览器。
driver.close(); 
将上述所有代码块组合在一起,我们将获得执行测试脚本" Navigation_command"所需的源代码。
最终的测试脚本将如下所示:
(我们在每个部分都嵌入了注释,以清楚地说明这些步骤)
import org.openqa.selenium.By;  
import org.openqa.selenium.WebDriver;  
import org.openqa.selenium.firefox.FirefoxDriver;  
import org.openqa.selenium.remote.DesiredCapabilities;  
  
public class Navigation_command {  
  
    public static void main(String[] args) {  
          
        // System Property for Gecko Driver   
        System.setProperty("webdriver.gecko.driver","D:\\GeckoDriver\\geckodriver.exe" );  
              
        // Initialize Gecko Driver using Desired Capabilities class  
            DesiredCapabilities capabilities = DesiredCapabilities.firefox();  
            capabilities.setCapability("marionette",true);  
            WebDriver driver= new FirefoxDriver(capabilities);  
              
            // Launch Website  
            driver.navigate().to("https://www.testandquiz.com/selenium/testing.html");   
            //Click on the Link Text using click() command  
            driver.findElement(By.linkText("this is a Link")).click();
            //Go back to Home Page
            driver.navigate().back(); 
            //Go forward to Registration page
            driver.navigate().forward();
            // Go back to Home page
            driver.navigate().to("https://www.testandquiz.com/selenium/testing.html");
            //Refresh browser
            driver.navigate().refresh();
      
            //Closing browser
            driver.close(); 
    }
}
要在Eclipse窗口上运行测试脚本,请右键单击屏幕,然后单击
运行方式→Java应用程序
Selenium WebDriver-导航命令
测试脚本执行后将启动Firefox浏览器并使所有测试场景自动化。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4