Skip to content

BugDiver/taiko-storage

Repository files navigation

Taiko Storage

npm version Actions Status

taiko-storage

A taiko plugin to interact with browser storages (localStorage and sessionStorage).

Installation

  • npm install taiko-storage --save

Usage

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();
    }
})();

APIs

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.

setItem(key, value)

set the given key value to storage

await localStorage.setItem(key, value);
// or
await sessionStorage.setItem(key, value);

getItem(key)

featch the value for given key from storage

await localStorage.getItem(key);
// or
await sessionStorage.getItem(key);

hasItem(key)

validate if the given key exists in storage.

await localStorage.hasItem(key);
// or
await sessionStorage.hasItem(key);

removeItem(key)

remove the item with given key from the storage.

await localStorage.removeItem(key);
// or
await sessionStorage.removeItem(key);

clear()

clear the stoarage

await localStorage.clear();
// or
await sessionStorage.clear();

length()

tell the no of items in storage.

await localStorage.length();
// or
await sessionStorage.length();

Passing Taiko options to APIS,

  • The API's allows to pass a optional argument options which will be passed to taiko's evaluate API (used internally in storage APIs)

Example:

await localStorage.setItem(key, value, { waitForNavigation: false });

Use in Taiko REPL

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