Accessing localStorage in Protractor test for AngularJS application

浪尽此生 提交于 2019-12-18 12:16:40

问题


I am writing some tests to verify that input data is being stored in local storage correctly, how can I access localStorage from within the protractor test?

...
describe('vgPersist', function() {
  it('Should save input data in local storage until form submitted', function() {
    // Prepare Object and Open browser
    var addOns = new AddOns();
    addOns.get();

    -> Clear localStorage
    -> Get from localStorage

How do you use executeScript? And could I get data from an executeScript?


回答1:


To get an item from local storage use window.localStorage.getItem() through executeScript():

var value = browser.executeScript("return window.localStorage.getItem('key');");
expect(value).toEqual(expectedValue);

To clear local storage call clear():

browser.executeScript("window.localStorage.clear();");

We can also have this helper object/wrapper around the local storage for convenience:

"use strict";

var LocalStorage = function () {
    this.getValue = function (key) {
        return browser.executeScript("return window.localStorage.getItem('" + key + "');");
    };

    this.get = function () {
        browser.executeScript("return window.localStorage;");
    };

    this.clear = function () {
        browser.executeScript("return window.localStorage.clear();");
    };
};

module.exports = new LocalStorage();


来源:https://stackoverflow.com/questions/21960598/accessing-localstorage-in-protractor-test-for-angularjs-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!