A taiko plugin to interact with browser storages (localStorage and sessionStorage).
npm install taiko-storage --save
const { openBrowser, closeBrowser, click, storage: { localStorage, sessionStorage} } = require('taiko');
/*
OR
const { openBrowser, closeBrowser, click, storage } = require('taiko');
const {localStorage, sessionStorage} = storage;
*/
(async () => {
try {
await openBrowser();
await localStorage.setItem("Key", "Value");
let value = await localStorage.getItem("Key");
// more actions
// ...
} finally {
await closeBrowser();
}
})();
The plugin exposes two variables localStorage
and sessionStorage
which represents to the respective storages.
The APIs for both the storage are same and try to very close the the native storage apis.
set the given key value to storage
await localStorage.setItem(key, value);
// or
await sessionStorage.setItem(key, value);
featch the value for given key from storage
await localStorage.getItem(key);
// or
await sessionStorage.getItem(key);
validate if the given key exists in storage.
await localStorage.hasItem(key);
// or
await sessionStorage.hasItem(key);
remove the item with given key from the storage.
await localStorage.removeItem(key);
// or
await sessionStorage.removeItem(key);
clear the stoarage
await localStorage.clear();
// or
await sessionStorage.clear();
tell the no of items in storage.
await localStorage.length();
// or
await sessionStorage.length();
- The API's allows to pass a optional argument
options
which will be passed to taiko'sevaluate
API (used internally in storage APIs)
Example:
await localStorage.setItem(key, value, { waitForNavigation: false });
To launch the REPL type taiko --plugin taiko-storage
in your favorite terminal application. This will launch the Taiko Prompt.
e.g
Version: 0.7.0 (Chromium:74.0.3723.0) Type .api for help and .exit to quit
You should now have full access to localStorage and sessionStorage apis in the taiko REPL window