< 1 minute read

There are two options to interact with browser’s local storage:

LoadFocus allows to easily set up checks to validate responses, status codes, response times, and receive instant alerts when issues arise. Monitor API performance and availability from over 26 cloud locations worldwide!

Start for free No credit card upfront.
  • via javascript by creating your own methods
  • via Selenium WebDriver (starting with version 2.42) if the driver supports it

Let’s have a look of how can we use these two options in our Selenium WebDriver tests:

1. Let’s create a LocalStorage class with methods for each action we need for interaction with the browser’s Local Storage:

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;

public class LocalStorageJS {

    private JavascriptExecutor js;

    public LocalStorageJS(WebDriver webDriver) {
        this.js = (JavascriptExecutor) webDriver;
    }

    public void removeItemFromLocalStorage(String item) {
        js.executeScript(String.format("window.localStorage.removeItem('%s');", item));
    }

    public boolean isItemPresentInLocalStorage(String item) {
        return !(js.executeScript(String.format("return window.localStorage.getItem('%s');", item)) == null);
    }

    public String getItemFromLocalStorage(String key) {
        return (String) js.executeScript(String.format("return window.localStorage.getItem('%s');", key));
    }

    public String getKeyFromLocalStorage(int key) {
        return (String) js.executeScript(String.format("return window.localStorage.key('%s');", key));
    }

    public Long getLocalStorageLength() {
        return (Long) js.executeScript("return window.localStorage.length;");
    }

    public void setItemInLocalStorage(String item, String value) {
        js.executeScript(String.format("window.localStorage.setItem('%s','%s');", item, value));
    }

    public void clearLocalStorage() {
        js.executeScript(String.format("window.localStorage.clear();"));
    }
}

2. Using the Selenium WebDriver built in functionality present in the HTML5 package


(org/seleniumhq/selenium/selenium-api/2.45.0/selenium-api-2.45.0.jar!/org/openqa/selenium/html5)
Clearing LocalStorage:


LocalStorage local = ((WebStorage) driver).getLocalStorage();
local.clear();

Setting an item in LocalStorage:


local.setItem("FOO", "BAR");

Getting an item from LocalStorage:


local.getItem(“name”)

Here you can find more details about locating elements with Selenium WebDriver.

How fast is your website? Free Website Speed Test