Selenium WebDriver - 拖放

2024年11月16日 | 阅读4分钟

在本节中,您将学习如何在 Selenium WebDriver 中执行像拖放这样的复杂操作。

在继续本节之前,让我们首先了解一些关于拖放操作的概念。

Selenium WebDriver 中的 Actions

为了执行像拖放这样的复杂用户交互,我们在 Selenium WebDriver 中有一个 Actions 类。 使用 Actions 类,我们首先构建一系列复合事件,然后使用 Action(表示单个用户交互的接口)执行它。 我们将在此处使用的 Actions 类的不同方法是 -

  • clickAndHold(WebElement element) - 单击 Web 元素的中间(不释放)。
  • moveToElement(WebElement element) - 将鼠标指针移动到 Web 元素的中间而不单击。
  • release(WebElement element) - 释放左键单击(处于按下状态)。
  • build() - 生成复合动作

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

  • 启动 Firefox 浏览器
  • 打开 URL:https://www.testandquiz.com/selenium/testing.html
  • 将 JavaTpoint 图标拖放到文本框上

我们将逐步创建我们的测试用例,以便让您全面了解如何在 WebDriver 中处理拖放。

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

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

Selenium WebDriver- Drag and Drop

将您的类名命名为 "Dragdrp_Test" 并单击“完成”按钮。

Selenium WebDriver- Drag and Drop

步骤 3. 让我们进入编码区。

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

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

  • 之后,我们必须使用 Desired Capabilities 类初始化 Gecko 驱动程序。

以下是使用 DesiredCapabilities 类初始化 gecko 驱动程序的示例代码。

结合以上两个代码块,我们将获得启动 Firefox 浏览器的代码段。

之后,我们需要编写代码来自动化我们的第二个测试场景(导航到所需的 URL)

以下是导航到所需 URL 的示例代码

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

步骤 4。 现在我们将尝试找到 JavaTpoint 图标和文本框,以便执行拖放操作。 众所周知,定位元素需要检查其 HTML 代码。

请按照以下步骤在示例网页上找到下拉菜单。

  • 打开 URL:https://www.testandquiz.com/selenium/testing.html
  • 右键单击 JavaTpoint 图标并选择检查元素。
Selenium WebDriver- Drag and Drop
  • 它将启动一个窗口,其中包含参与 JavaTpoint 徽标开发的所有特定代码。
Selenium WebDriver- Drag and Drop
  • 记下其 id 属性,即 sourceImage
Selenium WebDriver- Drag and Drop

类似地,我们将检查放置徽标的文本框。

Selenium WebDriver- Drag and Drop
  • 记下其 id 属性,即 targetDiv
Selenium WebDriver- Drag and Drop

步骤 5. 为了自动化我们的第三个和第四个测试场景,我们需要编写将在 JavaTpoint 徽标上执行拖放操作的代码。

下面是执行拖放操作的代码片段。

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

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

Selenium WebDriver- Drag and Drop

步骤 6. 右键单击 Eclipse 代码并选择 Run As > Java Application.

Selenium WebDriver- Drag and Drop

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

您可以看到 JavaTpoint 徽标将自动放入文本框中。

Selenium WebDriver- Drag and Drop