哪个类实现接口操作方法Perform()

时间:2020-10-20 18:45:00

标签: java selenium selenium-webdriver interface webdriver

我是硒的新手,我试图了解Interface Action和Class Action。我的理解是Interface Action只有一种方法Perform()。 但是我看到Actions类也有方法Perform()。因为类Actions不能从Interface Action实现,所以它是Perform方法 不是接口的重写方法。我的问题是,如果Actions类没有实现Interface Action,那么哪个类实现了perform方法呢? 我会说类动作未实现接口动作吗?我没有看到任何文件说是这样。

org.openqa.selenium.interactions
Interface Action
All Known Implementing Classes:

ButtonReleaseAction, ClickAction, ClickAndHoldAction, CompositeAction, ContextClickAction, DoubleClickAction, 
DoubleTapAction, DownAction, FlickAction, KeyDownAction, KeyUpAction, LongPressAction, MoveAction, MoveMouseAction, 
MoveToOffsetAction, PauseAction, ScrollAction, SendKeysAction, SingleTapAction, UpAction 

2 个答案:

答案 0 :(得分:0)

Actions是一个实用程序类。实际上,它没有实现Action接口。它是使用Builder设计模式设计的,因此您可以调用方法链,每个方法链都会增加原始对象的状态。

有几个实现Action接口的类。您可以使用任何IDE来跟踪它们(DoubleClickActionKeyUpAction等)。

如果您将观察到这些Action实现,那么您还将看到它们当前已被弃用。这是因为存在Interaction的新概念。该实用程序Actions类支持两者。每次使用“ Actions”类将新的“ action”添加到动作链时,都会在其内部的动作存储中添加相应的Action实现,并且还会在一系列交互中添加Interaction的相应实现。

然后,当您执行build()时,它会选择在这种特殊情况下使用哪个。

答案 1 :(得分:-1)

简而言之,org.openqa.selenium.interactions程序包包含以下接口

  • Action:表示单个用户交互操作的界面。
  • Encodable :此接口允许自定义交互以JSON编码用于W3C有线格式。
  • HasInputDevices :由每个驱动程序实现的接口,允许访问原始输入设备。
  • HasTouchScreen :由每个驱动程序实现的接口,允许访问触摸屏功能。
  • InputSource :为W3C WebDriver规范定义和使用的输入源建模。
  • Interactive :指示可以与W3C WebDriver Actions命令一起使用的类。
  • IsInteraction :帮助我们将代码过渡到新世界的界面
  • Keyboard :表示基本的低级键盘操作的界面。
  • Locatable
  • Mouse :表示基本鼠标操作的界面。
  • TouchScreen :表示基本触摸屏操作的界面。

它还包含以下

  • Actions:面向用户的API,用于模拟复杂的用户手势。
  • ButtonReleaseAction :已弃用
  • ClickAction :已弃用
  • ClickAndHoldAction :已弃用
  • CompositeAction :用于汇总动作并同时触发所有动作的动作。
  • ContextClickAction :已弃用
  • DoubleClickAction :已弃用
  • Interaction :用作W3C WebDriver spec Action commands序列的基础。
  • KeyDownAction :为key input source建模。
  • KeyInput :已弃用
  • MoveMouseAction :已弃用
  • MoveToOffsetAction :已弃用
  • Pause :指示给定的InputSource应该暂停给定的持续时间。
  • PauseAction :已弃用
  • PointerInput :为pointer input source建模。
  • PointerInput.Origin
  • SendKeysAction :已弃用
  • Sequence :给定InputSource与W3C Action commands一起使用的一系列动作对象。

perform()

perform()Class Actions中的一种方法,定义为:

public void perform()

是一种无需先调用build()即可执行操作的便捷方法。

相关问题