Selenium WebDriver - 第一个测试用例


Selenium WebDriver - 第一个测试用例

在本节中,您将学习如何创建您的第一个 Selenium 自动化测试脚本。

在本次测试中,我们将自动化以下场景:

  • 调用 Google Chrome 浏览器。
  • 打开网址:www.google.com
  • 单击 Google 搜索文本框。
  • 键入值“javatpoint 教程”
  • 单击“搜索”按钮。

我们将逐步创建我们的测试用例,让您详细了解每个组件。

步骤1。启动 Eclipse IDE 并打开我们在本教程的上一节(配置 Selenium WebDriver)中创建的项目“Demo_Test”。我们将在“Demo_Test”测试套件下的“First.class”文件中编写我们的第一个 Selenium 测试脚本。

Selenium WebDriver 第一个测试用例

注意:要在 Selenium 中调用浏览器,我们必须下载特定于该浏览器的可执行文件。例如,Chrome 浏览器使用名为 ChromeDriver.exe 的可执行文件来实现 WebDriver 协议。这些可执行文件在您的系统上启动一个服务器,该服务器又负责在 Selenium 中运行您的测试脚本。

第2步。在浏览器中打开 URL:https : //sites.google.com/a/chromium.org/chromedriver/downloads

第三步。单击“ChromeDriver 2.41”链接。它会将您重定向到 ChromeDriver 可执行文件的目录。根据您当前使用的操作系统下载。

Selenium WebDriver 第一个测试用例

对于 Windows,请单击“chromedriver_win32.zip”下载。

Selenium WebDriver 第一个测试用例

下载的文件将采用压缩格式。将内容解压到一个方便的目录中。

Selenium WebDriver 第一个测试用例

注意:Selenium 开发人员为每个浏览器定义了属性,这些浏览器需要解析相应的可执行文件的位置才能调用浏览器。例如,为 Chrome 浏览器定义的属性 - webdriver.chrome.driver,需要其可执行文件的路径 - D:\ChromeDriver\chromedriver.exe 才能启动 Chrome 浏览器。

Selenium WebDriver 第一个测试用例

第四步。我们需要为诸如 Google 搜索文本框和搜索按钮之类的 Web 元素提供唯一标识,以便通过我们的测试脚本将它们自动化。这些唯一标识与一些命令/语法一起配置以形成定位器。定位器帮助我们在 Web 应用程序的上下文中定位和识别特定的 Web 元素。

查找唯一标识元素的方法涉及检查 HTML 代码。

  • 在 Chrome 浏览器中打开 URL:https : //www.google.com
  • 右键单击 Google 搜索文本框并选择检查元素。

Selenium WebDriver 第一个测试用例

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

Selenium WebDriver 第一个测试用例

  • 选择 id 元素的值,即“lst-ib”。

Selenium WebDriver 第一个测试用例

  • 下面给出了在 Selenium WebDriver 中通过“id”定位元素的 Java 语法。

    driver.findElement(By.id (<element ID>))
  • 这是在我们的测试脚本中定位 Google 搜索文本框的完整代码。

    driver.findElement(By.id ("lst-ib"))
  • 现在,右键单击 Google 搜索按钮并选择检查元素。

Selenium WebDriver 第一个测试用例

  • 它将启动一个窗口,其中包含开发 Google 搜索按钮所涉及的所有特定代码。

Selenium WebDriver 第一个测试用例

  • 选择名称元素的值,即“btnK”。

Selenium WebDriver 第一个测试用例

  • 下面给出了在 Selenium WebDriver 中通过“名称”定位元素的 Java 语法。

    driver.findElement(By.name (<element name>))
  • 这是在我们的测试脚本中定位 Google 搜索按钮的完整代码。

    driver.findElement(By.name ("btnK"))

第五步。现在是编写代码的时候了。我们为每个代码块嵌入了注释,以清楚地解释这些步骤。

import org.openqa.selenium.By;  
import org.openqa.selenium.WebDriver;  
import org.openqa.selenium.chrome.ChromeDriver;  

public class First {  

    public static void main(String[] args) {  

    // declaration and instantiation of objects/variables  
    System.setProperty("webdriver.chrome.driver", "D:\\ChromeDriver\\chromedriver.exe");  
    WebDriver driver=new ChromeDriver();  

// Launch website  
    driver.navigate().to("http://www.google.com/");  

    // Click on the search text box and send value  
    driver.findElement(By.id("lst-ib")).sendKeys("javatpoint tutorials");  

    // Click on the search button  
    driver.findElement(By.name("btnK")).click();  

    }  

}

Eclipse 代码窗口将如下所示:

Selenium WebDriver 第一个测试用例

第六步。右键单击 Eclipse 代码并选择Run As > Java Application

Selenium WebDriver 第一个测试用例

第七步。上述测试脚本的输出将显示在 Google Chrome 浏览器中。

Selenium WebDriver 第一个测试用例

守则说明

导入包/语句

在 java 中,import 语句用于导入存在于另一个包中的类。简单来说,import 关键字用于将内置和用户定义的包导入到您的 java 源文件中。

  1. org.openqa.selenium.WebDriver - 引用实例化新 Web 浏览器所需的 WebDriver 接口。
  2. org.openqa.selenium.chrome.ChromeDriver - 引用将 Chrome 特定驱动程序实例化到由 WebDriver 类实例化的浏览器所需的 ChromeDriver 类。

实例化对象和变量

驱动程序对象通过以下方式实例化:

WebDriver driver=new ChromeDriver();

启动网站

要启动一个新网站,我们使用 WebDriver 中的 navigate().to() 方法。

driver.navigate().to("http://www.google.com/");

单击一个元素

在 WebDriver 中,用户交互是通过使用定位器来执行的,我们将在本教程的后面几节中讨论。目前,以下代码实例用于定位和解析特定 Web 元素中的值。

driver.findElement(By.id("lst-ib")).sendKeys("codingdict tutorials");