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

开始使用 WebDriver 的 Java 绑定很容易——如果您知道如何将各个部分连接在一起。一旦这些部分就位,开发就很容易了。

在本文中,我们将向您展示如何编写并运行一个简单的测试。

您需要的组件

要使用 Eclipse 在 Java 中运行 WebDriver 测试,您需要:

  • 一个测试框架——我们将使用 JUnit;有很多你可以使用。

  • WebDriver 的 Java 代码库

  • 浏览器驱动程序 - 我们的示例将使用 chrome

  • 依赖管理器——我们的例子是 Maven

有多种方法可以使用 Java 在 Eclipse 中添加依赖项。常见的依赖管理器包括 Maven 和 Gradle。本文的旧版本手动添加了依赖项。

如何安装 Eclipse

Eclipse 是最流行的 Java 开发环境之一。它是一个由 Eclipse 基金会维护的开源项目,拥有大量的附加组件、工具和支持市场。在我们的示例中,我们将选择“Eclipse IDE for Java Developers”。

在Eclipse中开始使用WebDriver-Selenium for Java_第1张图片

安装程序会保存到您的本地驱动器或浏览器的“下载”目录。下载并运行它。

安装 Eclipse 后,您可以随意自定义它。

在Eclipse中开始使用WebDriver-Selenium for Java_第2张图片

创建项目

Eclipse 使用工作区的概念——您处理项目的文件夹和空间。在这个例子中,我使用了一个现有的工作区,我有几个不同的小示例项目。团队对工作区和项目结构使用不同的方法。在您自己的小型示例项目中使用您喜欢的任何内容;但是,请确保在实际工作中遵循您团队的模式。(工作区和项目结构的争论几乎与制表符与空格一样激烈。请善待。)

本文使用一个简单的Java项目,该项目是通过在打开的屏幕上单击“创建新的Java项目”来创建的。

在Eclipse中开始使用WebDriver-Selenium for Java_第3张图片

在 New Java Project 对话框中填写基本信息 - 确保 JRE 环境版本为 14 或更高版本 - 然后单击 Finish 继续。

添加 Maven - 一个依赖管理器

各种驱动程序依赖于其他库,在某些情况下,这些库依赖于其他库。您将使用依赖项注册和管理服务 Maven,而不是手动下载和安装它们。您将为 ChromeDriver 添加一个条目,为 JUnit(“Jupiter”)添加另一个条目,然后开始比赛。所以右键项目,选择configure,转换成maven项目。在随后的“创建新 POM 对话框”上单击完成以创建您的 pom.xml 文件。

在Eclipse中开始使用WebDriver-Selenium for Java_第4张图片

在Eclipse中开始使用WebDriver-Selenium for Java_第5张图片

添加依赖项

在包浏览器的左下角,您现在将看到一个 pom.xml。我们将在 POM 中添加对 JUnit Jupiter 和 Webdriver 的引用,方法是在 下方和 之前添加依赖关系 xml 片段。这是代码片段(以下表示使用 JUnit 5.7.0 版和 Selenium 4 的环境):

org.JUnit.jupiter JUnit-jupiter-api 5.7.0 test org.seleniumhq.selenium selenium-java 4.0.0-alpha-7

WebDriver 组件的时间

在我们继续之前,快速回顾一下 WebDriver 的构成是有帮助的。WebDriver 由许多不同的组件组成,重要的是您要清楚您需要哪些组件。介绍 WebDriver的Selenium HQ 页面详细介绍了 WebDriver 的工作原理。你应该读一下;但是,这是一个缩写版本:

浏览器驱动程序

WebDriver 的最低级组件是浏览器驱动程序,它通过浏览器的自动化界面直接操作浏览器。这是库将调用的程序。浏览器供应商(Microsoft、Mozilla、Google 等)在他们自己的浏览器中处理细节,这意味着制造浏览器的人也在处理特定浏览器的自动化机制。浏览器驱动程序的名称是ChromeDriver(适用于 Chrome)、Geckodriver(适用于 Firefox)、SafariDriver(适用于 Safari)以及InternetExplorer 驱动程序和MS Edge 驱动程序(分别是IE和Edge)。将它们放在作为环境 PATH 一部分的目录中,这样无论您在哪个工作目录中,对程序的命令行调用都会执行它们。

  • 对于本教程,请为您的环境安装 ChromeDriver

硒服务器

Selenium Server 是一个管理远程机器上运行的 WebDriver 实例的组件。Selenium Server 也是处理网格配置时的中心枢纽。与 Sauce Labs 合作时,Sauce 可以提供整个网格;只需让您的测试隧道进行连接即可。

  • 对于本教程,您将在本地运行测试,因此不需要运行服务器。

将 WebDriver 添加到 Eclipse

如前所述,有多种方法可以在 Eclipse 项目中包含 WebDriver。

  • 我们已经通过将 WebDriver 作为依赖项(selenium-java)添加到 pom.xml 文件中来完成这项工作

编写你的第一个测试

除了与浏览器驱动程序交谈之外,WebDriver 不知道如何做任何事情。因此,您需要某种测试框架来执行测试、进行断言和报告测试状态。我们将使用 JUnit,因为 A) 它非常流行并且 B) 它包含在 Eclipse 的默认安装中。

通过右键单击 => 新建 => JUnit 测试用例,将测试用例添加到 Eclipse 项目。

在结果对话框中为您的测试用例命名一个好名字,然后单击完成以创建文件。请注意,我在这个测试用例中使用了默认命名空间——Eclipse 对此抱怨是理所当然的。再次,善良。遵循您团队的项目组织和命名标准实践。您可能会将文件放在错误的目录中,或者拼写错误。把这种努力重新做几次不是浪费,而是一种很好的做法。

添加 JUnit 和您的第一个测试

右键单击项目,构建路径,添加库,添加 JUnit,然后单击完成 - 从后续对话框中的库版本中选择 JUnit 5,然后单击完成。

在Eclipse中开始使用WebDriver-Selenium for Java_第6张图片

在Eclipse中开始使用WebDriver-Selenium for Java_第7张图片

右键单击该项目,选择 New,然后选择 New JUnit Jupiter test。确保不要使用默认包(如果需要,请创建一个新包),给它一个好名字,然后单击完成。您会发现您的第一个测试用例已设置好并准备好进行创作。

在Eclipse中开始使用WebDriver-Selenium for Java_第8张图片

一个简单的测试

下面是一个完整的测试用例,它在本地启动浏览器,执行一个非常简单的测试,然后关闭浏览器实例。该示例非常简单,并且不遵循使用页面对象模式等常规做法。这是示例代码,不是生产代码!

您会注意到测试用例需要将该属性设置为 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();

} }

在Eclipse中开始使用WebDriver-Selenium for Java_第9张图片

通过右键单击测试主体并选择 Run As => JUnit test 来运行测试。

在Eclipse中开始使用WebDriver-Selenium for Java_第10张图片

 下面推荐两个不错的测试平台

众测平台:众测平台-众测服务-Alltesting众测

自动化测试平台:Alltesting|泽众云测试-真机-兼容性-性能-众测-安全-测试平台

你可能感兴趣的:(软件测试,代码管理解决方案,性能测试,eclipse,maven,java)