Selenium:Action是一个界面?设计决策背后的原因?

时间:2017-12-01 09:41:05

标签: selenium

Selenium Action是一个只有perform()方法的接口,它执行复合动作。

为什么它是一个界面,或者人们有理由以这种方式保留它的设计决策是什么。

public class ActionBuildPerform {
    public static void main(String... args) {
      WebDriver driver = new FirefoxDriver();
      driver.get("file://C:/selectable.html");
      WebElement one = driver.findElement(By.name("one"));
      WebElement three = driver.findElement(By.name("three"));
     WebElement five = driver.findElement(By.name("five"));
      // Add all the actions into the Actions builder.
     Actions builder = new Actions(driver);
        builder.keyDown(Keys.CONTROL)
              .click(one)
             .click(three)
             .click(five)
             .keyUp(Keys.CONTROL);
       // Generate the composite action.
       Action compositeAction = builder.build();
       // Perform the composite action.
       compositeAction.perform();
      }
   }

此外声明如

 Action compositeAction = builder.build();

让我感到困惑,因为我一直认为引用变量应该是一个类。我理解这意味着它可以是任何实现该Action接口的类(但仍然无法绕过它)。也许我有一些java基础问题。如果有人可以对此有所了解。

0 个答案:

没有答案