очистить кэш в кошмаре.в 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
, но эту строку можно удалить