📜  Selenium Webdriver定位策略-ID定位

📅  最后修改于: 2020-11-06 02:19:17             🧑  作者: Mango

定位策略-(按ID)

在本部分中,您将学习如何使用其id属性的值来定位特定的Web元素。

让我们考虑一个测试案例,在该案例中,我们将自动化以下场景:

我们将逐步创建测试用例,以使您完全了解如何使用定位器来识别和定位特定的Web元素。

步骤1。启动Eclipse IDE,并打开我们在本教程前面的课程中创建的现有测试套件“ Demo_Test”。

第2步。右键单击“ src”文件夹,然后从“新建”>“类”创建一个新的类文件。

将您的班级名称命名为“ Locator_One”,然后单击“完成”按钮。

第三步让我们进入编码基础。

  • 要调用Firefox浏览器,我们需要下载Gecko驱动程序并为Gecko驱动程序设置系统属性。我们已经在本教程的早期课程中对此进行了讨论。您可以参考“在Firefox浏览器上运行测试”以了解如何下载和设置Firefox驱动程序的“系统”属性。

这是为Gecko驱动程序设置系统属性的示例代码:

  // System Property for Gecko Driver 
    System.setProperty("webdriver.gecko.driver","D:\\GeckoDriver\\geckodriver.exe" );
  • 之后,我们必须使用所需功能类初始化Gecko驱动程序。

这是使用DesiredCapabilities类初始化壁虎驱动程序的示例代码。

  // Initialize Gecko Driver using Desired Capabilities Class
        DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        capabilities.setCapability("marionette",true);
        WebDriver driver= new FirefoxDriver(capabilities);
      // 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:

// Launch Website
driver.navigate().to("https://www.testandquiz.com/selenium/testing.html"); 

到目前为止,完整的代码如下所示:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class Locator_One {

    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"); 
    
    }

}

第四步。现在,我们将尝试使用其id属性的值来定位所需的Web元素。在Selenium中,查找特定的Web元素涉及对其HTML代码的检查。

请按照下面给出的步骤在示例网页上找到“文本”框。

  • 它将启动一个窗口,其中包含文本框开发中涉及的所有特定代码。

  • 选择id属性的值,即“ 1fname”。

用于使用其id属性查找Web元素的Java语法写为:

driver.findElement(By.id ())

因此,为了在示例网页上找到文本框,我们将其id属性的值用作:

driver.findElement(By.id (<"fname">))

同样,为了在示例网页上找到“提交”按钮,我们将其id属性的值用作:

driver.findElement(By.id (<"idOfButton">))

第五步

要使第三,第四和第五个测试场景自动化,我们需要编写代码,该代码将单击“文本”框,在文本框中键入所需的值,然后单击“提交”按钮。

这是示例代码,单击“文本”框,然后将值键入为“ JavaTpoint”。

// Click on the textbox and send value
driver.findElement(By.id("fname")).sendKeys("JavaTpoint");

下面的代码片段将单击Submit按钮:

// Click on the Submit button using click() command
 driver.findElement(By.id("idOfButton")).click();

因此,我们的最终测试脚本将如下所示:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class Locator_One {

    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);
            
        // Click on the textbox and send value
             driver.findElement(By.id("fname")).sendKeys("JavaTpoint");
             
        // Click on the Submit button using click() command
             driver.findElement(By.id("idOfButton")).click();     
             
    }
}

以下屏幕截图显示了我们的测试脚本的Eclipse窗口。

第六步右键单击Eclipse代码,然后选择运行方式> Java应用程序。

执行后,上述测试脚本将启动Firefox浏览器并自动执行所有测试方案。