2016-06-13 43 views
0

我从很久以来一直在使用PageFactory。我也使用@CacheLookup来缓存WebElements。问题是我从未注意到任何测试的快速执行。它始终如一。PageFactory clear driver on driver.quit();

  1. 我该如何验证它何时进行缓存以及何时不是?
  2. 如何清除缓存,请问driver.quit();是否可以完成这项工作?

回答

0

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

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

每次使用此元素时都执行此搜索。当您使用@CacheLookup对元素进行注释时,将重复使用相同的搜索结果,而不执行其他搜索。

我不知道如何有效地测试此功能的性能,因为在某些情况下,它可能不会产生非常不同的结果。我猜想,当通过xpath搜索而不是通过css搜索时,差异可能会更加明显,因为xpath通常比较慢。也许你可以试试看看看起来如何。

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