2015-05-20 43 views

回答

3

您可以通過executeScript訪問客戶端上的任何內容。

//protrator.conf.js 
    onPrepare: function() { 
    global.getFromLocalStorage = function (key) { 
     return browser.executeScript(function (key) { 
     return localStorage.get(key); 
     }, key); 
    }; 

然後,使用在你的測試:

//user-spec.js 
it('should save user to localstorage', function() { 
    expect(getFromLocalStorage('user-profile').name).to.Contain('Jorge'); 
}); 

UPDATE: 現在,如果有存儲沒有同步訪問(如在IndexedDB的),你想使用executeAsyncScript相反:

//protrator.conf.js 
    onPrepare: function() { 
    global.getFromIndexedDB = function (key) { 
     return browser.executeAsyncScript(function (key, cb) { 
     window.myDB.get(key).onsuccess = function (e) { 
      cb(e.target.result); 
     } 
     }, key); 
    }; 

//user-spec.js 
it('should save user to indexeddb properly', function() { 
    expect(getFromIndexedDB('user-profile').name).to.Contain('Jorge'); 
});