Selenium 及其应用程序中的动作类是什么?

已发表: 2021-05-19

Selenium 中的 Action Class 是 selenium 提供的用于管理键盘和鼠标事件的内置功能。 它可以管理多个操作和事件,例如控制键、拖放等等。 Action 类的操作是使用 Selenium Webdriver 的高级用户交互 API 功能实现的。

目录

常用的键盘和鼠标事件

使用高级用户交互 API 处理特殊的键盘和鼠标事件。 此 API 包含执行这些事件时所需的 Action 和 Actions 类。 下面给出了 Action 类中提供的常用键盘和鼠标事件。

方法描述
单击并按住() 在当前鼠标位置单击而不释放。
上下文点击() 在当前鼠标位置执行上下文单击(右键单击鼠标操作)
双击() 在当前鼠标位置执行双击动作
拖放(源,目标) 在源元素位置执行单击并按住操作,然后移动到目标元素位置并释放鼠标。

参数:

源元素来模拟按钮按下事件。

移动和释放鼠标的目标元素

dragAnd DropBy(source, x-offset, y-offset) 在源元素位置执行单击并按住,移动指定的偏移量,然后释放鼠标。

参数:

源元素来模拟按钮按下事件。

xOffset- 指定水平移动偏移量。

yOffset- 指定垂直移动偏移量。

keyDown(修饰键) 执行修饰键按下事件。 假设它被按下,不会在随后的交互中释放修改键。

参数:

modifier_key 表示任何修饰键,例如 Keys.SHIFT、Keys.ALT 或 Keys.CONTROL。

向上键(修饰键) 执行密钥释放。

参数:

modifier_key 表示任何修饰键,例如 Keys.SHIFT、Keys.ALT 或 Keys.CONTROL。

moveByOffset(x 偏移,y 偏移) 将鼠标从当前位置移动指定的偏移量。

参数:

x-offset 指定水平偏移量。 负值表示鼠标向左移动。

y-offset 指定垂直偏移。 负值表示鼠标向下移动。

移动到元素(到元素) 将鼠标从元素的中间移动到元素的中间。

参数:

element 表示要移动到的元素。

发布() 在当前鼠标位置释放按下的鼠标左键。
sendKeys(onElement,字符序列) 向元素发送一系列击键。

参数:

表示将获得击键的元素的元素,通常是文本字段。

字符序列 - 表示发送的击键序列的任何字符串值。

Selenium Action 类的应用示例

1.导入Action和Action类

导入 org.open a.selenium.interactions.Action;

导入 org.open a.selenium.interactions.Actions;

2.实例化一个新的Actions对象

动作生成器 = 新动作(驱动程序);

3.使用上一步中的Action对象实例化一个Action

动作 mouseOverHome = builder

.moveToElement(link_Home)

。建造();

在这里,我们使用 moveToElement() 方法将鼠标悬停在 Home 链接上。 build() 始终是确保在一个步骤中编译所有操作的最终方法。

4.在执行我们在上一步中声明的Action对象时使用perform方法。

句法:

mouseOverHome.perform();

示例 2:

让我们再举一个例子,其中 Action 类用于实现文本框的自动完成功能。

要手动执行此操作,我们按下 shift 键,输入必须以大写形式输入的文本,然后松开 shift 键。 把,Shift + 字母键同时按下。

为了通过自动化脚本模拟相同的操作,使用了 Actions Class 方法。

1.导入包

Action 和 Actions 类存在于 Web Driver API 的 org.openqa.selenium.interactions 包中。 要使用这些,您必须导入包:

org.openqa.selenium.interactions.Action;

org.openqa.selenium.interactions.Actions;

2.实例化Action类

如果您创建了 Actions 类的对象来调用它的方法,将会有所帮助。 因此,我们实例化 Actions 类并使用 WebDriver 对象来启动该类。 语法是:

动作动作=新动作(webdriver对象);

3. 生成一系列动作

在此示例中,执行多个操作的步骤顺序为:

  • 按 Shift 键
  • 发送所需的文本
  • 释放 Shift 键

要执行这些操作,Action 类具有以下方法:

  • keyDown 方法按下 Shift 键。
  • sendKeys 方法发送所需的文本。
  • keyUp 方法释放 Shift 键。
  • keyDown 充当修饰键按下以聚焦于元素,而 keyUp 方法释放按下的修饰键。

当同时按下两个键时,修饰键会更改另一个键的操作。 例如,Shift、Alt 和 Ctrl。

会生成一系列操作,但这些操作是在 webElement 上执行的。 步骤如下:

WebElement 元素 = driver.findElement;

actions.keyDown(element, Keys, Shift);

action.sendKeys(“TexttoBeConvertAndSendInUpperCase);

动作.keyUp(Keys.Shift);

这里要注意的重要一点是,如果您碰巧将鼠标悬停在任何 Action 类方法周围,则会返回一个 Actions 类对象。

4. 构建动作序列

您可以通过 Actions 类的 build() 方法构建动作序列。 此方法生成准备好执行的整个操作集。 语法是:

动作动作 = actions.build();

build() 方法返回一个 Action 类型的对象,它表示由方法调用调用的多个操作序列构建的复合操作。

5. 执行动作序列

执行 Action 类的最后一步是通过 Action 接口的 perform() 方法执行动作序列。 语法是:

动作.执行();

必须执行上述步骤以利用所有 Actions 类方法并使用键盘和鼠标执行不同的用户操作。

从世界顶级大学在线学习软件开发课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

接下来是什么?

如果您有兴趣了解有关全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的执行 PG 计划全栈软件开发,该计划专为在职专业人士设计,提供 500 多个小时的严格培训、9 个以上的项目,以及任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

Selenium 中的动作类是什么?

动作类是描述可以在 Web 元素上执行的动作或一系列动作的类。 我们通过定位器识别我们想要对其执行操作的元素。 动作类由公共静态类级别修饰符和动作后缀(即Action、KeyAction、PageAction 等)的两个字符组合定义。 public static 修饰符使我们能够将类公开为可以实例化的类。 Action 后缀表示正在执行的操作的类型。 Action 后缀类也是参数化的。 参数是动作的元素名称。 例如,如果我们想对文本字段执行操作,我们将使用参数 textfield。

硒的用途是什么?

Selenium 是一个非常强大的便携式软件测试工具(selenium software testing tool),用于记录和回放用户在网页上的操作。 它用于在任何 Web 浏览器上测试 Web 应用程序的功能性和非功能性需求。 它是用 Java 实现的,并且有一个非常简单的 API。 它支持在所有主要网络浏览器(如 Firefox、Chrome、Internet Explorer、Safari 等)中进行网络应用程序测试。

如何在 Java 中学习 Selenium?

Selenium 是一种工具,可让您使用多种编程语言编写自动化测试。 测试是使用 Web 驱动程序编写的。 您可以使用它来测试基于以下编程语言的 Web 应用程序:Java、C#、Python 和 PHP。 实际上,很多开发者觉得学习 Selenium Java API 并没有太大的必要。 Selenium WebDriver 是在页面上查找元素并使用它们执行操作的正确选择。 可以用许多编程语言来实现测试,但是如果你需要用 Java 编写测试,那么 Selenium WebDriver 是最好的选择。 在 Java 中学习 Selenium 的另一种方法是使用 Selenium IDE,也称为 Selenium RC。 浏览器对此工具的支持并不如我们所知的那么好,仅支持 Firefox 和 Chrome。 但是,IDE 可以帮助您快速设计和执行 Selenium 测试用例,记录和回放测试用例,自动生成测试用例等。