PageFactory清除cache.quit();

时间:2016-06-13 04:04:10

标签: selenium-webdriver factory-pattern pageobjects

我很久以来一直在使用PageFactory。我还使用@CacheLookup来缓存WebElements。问题是我从未注意到任何快速执行测试。它看起来一直都很相似。

  1. 如何验证缓存何时缓存以及何时不缓存?
  2. 如何清除缓存,driver.quit();是否可以完成工作?

1 个答案:

答案 0 :(得分:0)

通常,当您使用@FindBy注释时,它所做的只是在DOM上调用findElement。所以像这样:

`findElement(By.cssSelector("div.v-button.v-button-action"));`

每次使用此元素时都会执行此搜索。使用@CacheLookup注释元素时,将重复使用相同的搜索结果,而无需执行其他搜索。

我不确定如何有效地测试此功能的性能,因为在某些情况下它可能不会产生大不相同的结果。我猜想在使用xpath而不是css进行搜索时,差异可能会更明显,因为xpath通常较慢。也许你可以尝试一下,看看它的样子。

我认为driver.quit()将完成这项工作,因为它会在内部停止webdriver实例并结束会话。