gpt4 book ai didi

java - 当所有操作都可以通过 ActionsClass 完成时,为什么我们需要 Action Interface

转载 作者:行者123 更新时间:2023-12-02 01:31:00 24 4
gpt4 key购买 nike

如果所有操作都可以使用操作类执行,那么我们在哪里以及为什么需要操作接口(interface)以及对其的解释是什么?

方法1:-

WebElement Fname = driver.findElement(By.id("ts_first_name"));

Actions act = new Actions(driver);

Action newAct = act.moveToElement(Fname)
.keyDown(Fname, Keys.SHIFT)
.sendKeys("abhresh")
.keyUp(Fname, Keys.SHIFT)
.doubleClick(Fname)
.contextClick(Fname)
.build();

newAct.perform();

方法2:-

WebElement Fname = driver.findElement(By.id("ts_first_name"));

Actions act = new Actions(driver);

act.moveToElement(Fname)
.keyDown(Fname, Keys.SHIFT)
.sendKeys("abhresh")
.keyUp(Fname, Keys.SHIFT)
.doubleClick(Fname)
.contextClick(Fname)
.build().perform();

如果两种方法效果相同,那么为什么要使用方法 1?为什么不呢?

最佳答案

您基本上是在问:在示例 1 中声明局部变量 newAct 的目的是什么。

答案是:这取决于情况。

如果您需要该 Action 对象对其调用perform(),则拥有该局部变量没有意义。另一方面,如果您想在调用 perform() 后使用 newAct其他事情,那么显然,您最好存储该对象以便您稍后可以访问它。

换句话说:您选择了完成任务所需的方法。这里没有对与错,也没有好与坏。只是两种略有不同的方法支持两种略有不同的用例。

关于java - 当所有操作都可以通过 ActionsClass 完成时,为什么我们需要 Action Interface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56072579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com