开始使用 Eclipse 中的 WebDriver-Selenium for Java





5.00/5 (1投票)
在本文中,您将了解构成 Selenium WebDriver 的各种组件。
使用 WebDriver 的 Java 绑定入门很容易——如果您知道如何将各部分连接在一起。一旦各部分就位,开发就轻而易举了。
在本文中,我们将向您展示如何操作,并编写和运行一个简单的测试。
您需要的组件
要在 Eclipse 中使用 Java 运行 WebDriver 测试,您需要
- Eclipse
- 一个测试框架 - 我们将使用 JUnit;您也可以使用许多其他框架。
- WebDriver 的 Java 代码库
- 一个浏览器驱动程序 - 我们的示例将使用 Chrome
- 一个依赖管理器 - 我们的示例将使用 Maven
在 Eclipse 中使用 Java 添加依赖项有多种方法。常见的依赖管理器包括 Maven 和 Gradle。本文的一个旧版本手动添加了依赖项。
如何安装 Eclipse
Eclipse 是 Java 最流行的开发环境之一。它是由 Eclipse 基金会维护的一个开源项目,拥有庞大的插件、工具和支持市场。您可以在 http://www.Eclipse.org/downloads/Eclipse-packages/ 下载您操作系统最新版本的 Eclipse。在我们的示例中,我们将选择“Eclipse IDE for Java Developers”。
安装程序将保存到您的本地驱动器或浏览器的“下载”目录中。下载并运行它。
Eclipse 安装完成后,您可以根据喜好自由定制它。Eclipse 市场(https://marketplace.Eclipse.org/)以及更广泛的社区提供了大量的皮肤和编辑器设置。
创建项目
Eclipse 使用工作区(workspaces)的概念——您在其中处理项目的文件夹和空间。在本例中,我正在使用一个现有的工作区,其中有几个不同的小型示例项目。团队对于工作区和项目结构有不同的方法。在您自己的小型示例项目中使用您喜欢的任何方法;但是,在实际工作中请确保遵循您团队的模式。(工作区和项目结构几乎与制表符与空格的争论一样激烈。请友善。)
本文使用了一个简单的 Java 项目,该项目是通过在打开屏幕上点击“创建新的 Java 项目”来创建的。
填写“新建 Java 项目”对话框中的基本信息——确保 JRE 环境版本为 14 或更高版本——然后点击“Finish”继续。
添加 Maven - 一个依赖管理器
各种驱动程序依赖于其他库,有时这些库又依赖于额外的库。您将使用 Maven,一个依赖注册和管理服务,而不是手动下载和安装它们。您将为 ChromeDriver 添加一个条目,为 JUnit(“Jupiter”)添加另一个条目,然后就可以开始了。因此,右键单击项目,选择“Configure”,然后转换为 Maven 项目。在随后的“Create new POM dialog”对话框中点击“Finish”,以创建您的 pom.xml 文件。
添加依赖项
在包资源管理器(Package Explorer)的左下方,您现在会看到一个 pom.xml 文件。我们将通过在 </build> 和 </project> 之间添加一个依赖项 XML 片段,来为 JUnit Jupiter 和 Webdriver 添加引用。以下是代码片段(以下内容代表使用 JUnit 5.7.0 版本和 Selenium 4 的环境)
<dependencies>
<dependency>
<groupId>org.JUnit.jupiter</groupId>
<artifactId>JUnit-jupiter-api</artifactId>
<version>5.7.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0-alpha-7</version>
</dependency>
</dependencies>
到 WebDriver 组件的时间
在我们继续之前,快速回顾一下 WebDriver 的构成会有帮助。WebDriver 由许多不同的组件组成,弄清楚您需要哪些组件非常重要。 Selenium HQ 介绍 WebDriver 的页面 对 WebDriver 的工作原理有详细介绍。您应该阅读它;但是,这里有一个缩减版本。
浏览器驱动程序
WebDriver 的最低级组件是浏览器驱动程序,它通过浏览器的自动化接口直接操作浏览器。这是一个库会调用的程序。浏览器供应商(Microsoft、Mozilla、Google 等)负责处理其自身浏览器内部的细节,这意味着制作浏览器的开发者也负责处理该特定浏览器的自动化机制。浏览器驱动程序的名称是 ChromeDriver(用于 Chrome)、Geckodriver(用于 Firefox)、SafariDriver(用于 Safari)以及 InternetExplorer Driver 和 MS Edge Driver(分别用于 IE 和 Edge)。将它们放在您的环境变量 PATH 中的一个目录中,这样无论您在哪一个工作目录中,都可以通过命令行调用这些程序来执行它们。
- 对于本教程,请为您的环境安装 ChromeDriver
Selenium 服务器
Selenium Server 是一个组件,用于管理远程计算机上 WebDriver 实例的运行。Selenium Server 也是与 Grid 配置配合使用的中央枢纽。在使用 Sauce Labs 时,Sauce 可以提供整个 Grid;只需让您的测试通过隧道连接即可。您需要一个 Sauce Labs 帐户(如果您还没有,请开始 免费试用)。
- 对于本教程,您将在本地运行测试,因此不需要运行服务器。
将 WebDriver 添加到 Eclipse
如前所述,有许多方法可以将 WebDriver 包含到您的 Eclipse 项目中。
- 我们已经通过将 WebDriver 作为依赖项(selenium-java)添加到 pom.xml 文件中完成了这项工作。
编写您的第一个测试
WebDriver 除了与浏览器驱动程序通信之外,不知道如何做任何事情。因此,您需要某种测试框架来执行测试、进行断言和报告测试状态。我们将使用 JUnit,因为 A) 它非常受欢迎,B) 它包含在 Eclipse 的默认安装中。
通过右键单击 => 新建 => JUnit 测试用例,将一个测试用例添加到您的 Eclipse 项目中。
在出现的对话框中为您的测试用例取一个好名字,然后点击“Finish”来创建文件。请注意,我为这个测试用例使用了默认命名空间——Eclipse 正确地对此表示了抱怨。再次,请友善。遵循您团队关于项目组织和命名的标准实践。您可能会将文件放在错误的目录中,或者拼写错误。将重做这项工作几次视为良好的实践,而不是浪费。
添加 JUnit 和您的第一个测试
右键单击项目,选择“Build Path”,然后选择“Add Libraries”,添加 JUnit,然后点击“Finish”——在随后的对话框中选择 JUnit 5 作为库版本,然后点击“Finish”。
右键单击项目,选择“New”,然后选择“New JUnit Jupiter test”。确保不要使用默认包(如果需要,请创建一个新包),给它一个好名字,然后点击“Finish”。您会发现您的第一个测试用例已经设置好,可以开始编写了。
一个简单的测试
下面是一个完整的测试用例,它在本地启动一个浏览器,执行一个非常简单的测试,然后关闭浏览器实例。这个例子非常简单,并且不遵循 Page Object Patterns 等常规实践。这是示例代码,不是生产代码!
您会注意到测试用例需要设置 ChromeDriver 文件所在位置的属性;您需要更改这一点。在 Windows 中,它看起来像“c:\somedirectory\chromedriver.exe”,对于 Linux 和 Mac shell,您不需要末尾的 .exe,您将直接指向二进制文件。
package org.seleniumhq.selenium.selenium_java;
import static org.JUnit.jupiter.api.Assertions.*;
import org.JUnit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
class SauceLabsHomePageTest {
@Test
public void site_header_is_on_home_page() {
System.setProperty("webdriver.chrome.driver", "/where/you/put/chromedriver");
WebDriver browser = new ChromeDriver();
browser.get("https://www.saucelabs.com");
WebElement href = browser.findElement(By.xpath("//a[@href='https://accounts.saucelabs.com/']"));
assertTrue((href.isDisplayed()));
browser.close();
}
}
通过在测试正文中右键单击并选择“Run As => JUnit test”来运行测试。
总结
在本文中,您了解了构成 Selenium WebDriver 的各种组件。我们还向您展示了如何在 Eclipse 中安装 Eclipse,收集 Java 测试在 Eclipse 中所需的各种 WebDriver 组件,以及一个非常简单的测试。
按照说明进行操作可能需要几次尝试。不要感到沮丧。成为在 Eclipse 中创建 JUnit 测试的专家。如果您需要参考,请随时与我们托管在 GitHub 上的项目 进行比较。