очистить кэш в кошмаре.в JS (Электрон)

Я использую nightmare js для входа на сайт, который устанавливает токен в локальном хранилище. Однако любые будущие тесты, которые я запускаю, пользователь уже вошел в систему. Я предполагаю, что местное хранилище не было очищено. Есть ли способ сделать это? Мой код

1 ответов


хорошо, мы можем использовать свойство "веб-предпочтения" электронов.

var nightmare = Nightmare({
  show: false,
  webPreferences: {
    partition: 'nopersist'
  }
});

при инициировании кошмара используйте свойство раздела "web-prefences"для обработки сеансов. дополнительная информация здесь:https://github.com/atom/electron/blob/master/docs/api/browser-window.md. Суть в следующем:

страница будет использовать постоянный сеанс, доступный для всех страниц в приложении с тем же разделом. если нет persist: prefix, страница будет использовать сеанс в памяти.

так что в основном, если вы init кошмар, как:

var nightmare = Nightmare({
  show: false,
  webPreferences: {
    partition: 'persist:derp'
  }
});

тогда сеанс будет сохраняться под "derp", это может быть полезно, когда вы тестируете функции внутри аутентифицированных маршрутов. (баттхерт не имеет значения, может быть что-нибудь следующее сохраняются:)

если вы не хотите, чтобы сеанс сохранялся, не используйте сохраняются:. Я использую nopersist но это может быть любая строка, которая не предваряется сохраняются:

EDIT: show:false не имеет значения для сеанса, он просто показывает, что делает электрон (который использует кошмар), если вы установите show:true, но эту строку можно удалить