build()。perform()和perform()有什么区别

时间:2019-01-05 15:55:04

标签: selenium selenium-webdriver webdriver

一些文章建议 现在build()本身已包含在perform()中,而其他人则建议 build().perform()用于链接多个动作时 在一起。

3 个答案:

答案 0 :(得分:2)

build()包含在perform()中,您可以在source code

中看到它
public void perform() {
    build().perform();
}

方法中的perform()调用内部类perform()中的BuiltAction方法。

在您的代码中调用build().perform()实际上是两次调用build()build().build().perform()

build

  

生成一个复合动作,其中包含到目前为止的所有动作,准备进行   执行(并重置内部构建器状态,因此随后   对build()的调用将包含新序列)。

performe

  

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

这几乎不会引起误解(IMO),因为即使隐式调用了build()

答案 1 :(得分:0)

  1. build()- 生成一个复合动作,其中包含到目前为止所有准备执行的动作(并重置内部生成器状态,因此后续对build()的调用将包含新序列)。

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

因此,每当要执行复合操作(多个操作)时,请使用build()。perform(),否则使用perform()。

答案 2 :(得分:0)

Actions类中的

build()方法用于创建要执行的操作或操作链

perform()此Actions类中的方法用于执行使用Action构建方法构建的动作链。

build().perform() =创建动作链+执行