2016-06-13 2 views
0

Я использовал PageFactory из долгого времени. Я также использую @CacheLookup для кэширования WebElements. Проблема в том, что я не заметил быстрого выполнения тестов. Он выглядит одинаково все время.PageFactory clear cache на driver.quit();

  1. Как проверить, что при кешировании, а когда нет?
  2. Как очистить кеш, driver.quit(); выполнить эту работу?

ответ

0

Как правило, при использовании @FindBy аннотацию, все это лениво это вызывает findElement на DOM. Так что-то вроде этого:

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

Этот поиск выполняется каждый раз, когда вы используете этот элемент. Когда вы аннотируете элемент с помощью @CacheLookup, тот же результат поиска повторно используется без дополнительного поиска.

Я не уверен, как эффективно протестировать производительность этой функции, так как в некоторых случаях она может не дать совершенно разных результатов. Я думаю, что разница может быть немного более очевидной при поиске по xpath, а не по css, например, поскольку xpath обычно медленнее. Возможно, вы можете попробовать это и посмотреть, как это выглядит.

Я считаю, что driver.quit() выполнит эту работу, поскольку она внутренне останавливает экземпляр webdriver и завершает сеанс.