Phantomjs 如何清理phantom上的本地存储和会话存储?
我在幻影和量角器的帮助下做e2e测试,但每次都是这样 我对我的代码(不是e2e测试代码)做了一个更改,但幻影似乎没有 进行新更改或清理本地存储和会话存储。我想可能是缓存,但我不确定 为了清理本地存储,我尝试在我的dragrator.config文件中添加下一句话Phantomjs 如何清理phantom上的本地存储和会话存储?,phantomjs,protractor,Phantomjs,Protractor,我在幻影和量角器的帮助下做e2e测试,但每次都是这样 我对我的代码(不是e2e测试代码)做了一个更改,但幻影似乎没有 进行新更改或清理本地存储和会话存储。我想可能是缓存,但我不确定 为了清理本地存储,我尝试在我的dragrator.config文件中添加下一句话 onPrepare: function () { browser.executeScript("return window.localStorage.clear();"); } 然而,它没有工作,相反,我得到了这个错误 var te
onPrepare: function () { browser.executeScript("return window.localStorage.clear();"); }
然而,它没有工作,相反,我得到了这个错误
var template=新错误(this.message);^未知错误:
{“errorMessage”:“SecurityError:DOM异常
18、“请求”:{“头”:{“接受编码”:“gzip,deflate”,“连接”:“保持活动状态”,“内容长度”:“58”,“内容类型”:“应用程序/json”;
字符集=utf-8,“主机”:“本地主机:9781”,“用户代理”:“亚太地区”
他是HttpClient/4.5.1
(Java/1.7.0_79)},“httpVersion”:“1.1”,“方法”:“POST”,“POST”:“{\”脚本\“:\”返回
window.localStorage.clear();\”,\“args\”:[]},“url”:“/execute”,“urlParsed”:{“anchor”:“,“query”:“,“file”:“execute”,“directory”:“/,“path”:“/execute”,“relative”
“:”/execute“、”port“、”host“、”password“、”user“、”userInfo“、”authority“、”protocol“、”source“、”execute“、”queryKey“{}、”chunks“、”execute“、”urlOriginal“、”session/dc9ce280-e15f-11e5-911a-4b92e3de49f0/execute”}”
构建信息:版本:'2.51.0',修订版:'1af067d',时间:'2016-02-05
19:15:17'驱动程序信息:驱动程序。版本:未知
和您一样,我也看到了很多建议,可以调用
window.localStorage.clear()
来清除PhantomJS中的本地存储。但这里有一个交易——如果您在远程域上进行测试,这段代码将引发一个安全异常,因为浏览器(不应该)允许跨域清除本地存储数据
但是,您可以做的是控制在您的测试机上写入本地存储的数据文件的位置。这将是——本地存储路径(命令行参数)或(在C#中,类似Java):
本地存储文件以名称[domain].localstorage保存。在运行每个测试之前,请检查指定文件夹中是否存在文件*.localstorage,然后将其删除。这将为您清除本地存储。像您一样,我也看到了很多建议,可以调用window.localStorage.clear()
来清除PhantomJS中的本地存储。但这里有一个交易——如果您在远程域上进行测试,这段代码将引发一个安全异常,因为浏览器(不应该)允许跨域清除本地存储数据
但是,您可以做的是控制在您的测试机上写入本地存储的数据文件的位置。这将是——本地存储路径(命令行参数)或(在C#中,类似Java):
本地存储文件以名称[domain].localstorage保存。在运行每个测试之前,请检查指定文件夹中是否存在文件*.localstorage,然后将其删除。这将为您清除本地存储
PhantomJSDriverService service =
PhantomJSDriverService.CreateDefaultService();
//IMPORTANT: avoid the common pitfall of trying to specify a file name!!
// provide the path to the folder only
service.LocalStoragePath = @"path\to\where\I\want\local-storage\saved;
var driver = new PhantomJSDriver(service);