我试图从量角器测试中删除localStorage中的条目
describe('The feature',function() { beforeEach(function() { browser.executeScript('localStorage.removeItem("key");'); }); it('should do this',function() { }); });
但是当我在chrome中运行测试时出现此错误
UnknownError: <unknown>: Access to 'localStorage' is denied for this document. Storage is disabled inside 'data:' URLs. (Session info: chrome=32.0.1700.77) (Driver info: chromedriver=2.8.241036,platform=Mac OS X 10.9.0 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 436 milliseconds Build info: version: '2.39.0',revision: 'ff23eac',time: '2013-12-16 16:11:15' System info: host: 'MyPC.local',ip: '192.168.1.1',os.name: 'Mac OS X',os.arch: 'x86_64',os.version: '10.9',java.version: '1.7.0_45' Session ID: 23c01c8f756c653a6345e4b2f20c06e5 Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{platform=MAC,acceptSslCerts=true,javascriptEnabled=true,browserName=chrome,chrome={userDataDir=/var/folders/9h/6j5pzftn4sxdw3rt25ffrqx80000gn/T/.org.chromium.Chromium.xrCG1d},rotatable=false,locationContextEnabled=true,version=32.0.1700.77,takesHeapSnapshot=true,cssSelectorsEnabled=true,databaseEnabled=false,handlesAlerts=true,browserConnectionEnabled=false,nativeEvents=true,webStorageEnabled=true,applicationCacheEnabled=false,takesScreenshot=true}]
另一个可能的解决方案是将任何状态清除放入afterEach中,该任务将在运行任何测试后运行:(见
https://github.com/angular/protractor/issues/188)
afterEach(function() { browser.executeScript('window.sessionStorage.clear();'); browser.executeScript('window.localStorage.clear();'); });