Webdriver动作build.perform()

时间:2015-03-16 06:56:43

标签: selenium-webdriver

有人能告诉我Selenium行动中build.perform()perform()之间的区别吗?

示例:

actions.moveToElement(menuHoverLink).perform(); 

actions.moveToElement(menuHoverLink).build().perform();

2 个答案:

答案 0 :(得分:22)

在你的场景中,使用两者都不会有所作为。当您要执行多个操作时,会出现差异:

Actions builder = new Actions(driver); 
builder.clickAndHold(element1)
.clickAndHold(element2)
.click()
.build()
.perform();

在上面的代码中我们正在执行多个操作,因此我们必须使用build()将所有操作编译成一个步骤。因此使用build()方法将所有列出的操作编译成一个步骤。 我们在执行操作序列时使用build(),如果我们执行单个操作则不需要使用。

答案 1 :(得分:2)

派对有点迟了,但您不必使用build(),除非您想传递IActions个对象,因为build()perform()完成(见WebDriver Actions.Perform() or Actions.Build().Perform()