HtmlUnit 和 jasmine-maven-plugin 是否支持 HTML5 sessionStorage?
Does HtmlUnit and jasmine-maven-plugin support HTML5 sessionStorage?
我正在尝试在jasmine-maven-plugin上测试使用HTML5 sessionStorage的JavaScript函数。Jasmine使用HtmlUnit来模拟Web浏览器。
问题是,当自动化测试在 maven 构建期间运行时,它说:
- 错误:预期是间谍,但获得了功能。
我已经尝试了这个如何在FF中本地处理会话存储(用于测试),然后我遇到了此错误:
类型错误:类型
- 对象的预期参数,但文件中有类型对象:...
但是,如果我尝试在导入 jasmine.js 的网页上运行 Jasmine,则测试效果很好。我也试过这个 我可以使用 HTMLUnit 访问 HTML5 存储吗 ,但没有成功。
适用于 http://tryjasmine.com/而不是在 jasmine-maven-plugin 中的代码示例:
function alertItem(id) {
console.log("start");
var x = sessionStorage.getItem(id);
alert(x);
}
describe("sessionStorage test", function () {
console = {
log : function() {},
error : function() {},
warn : function() {}
};
var mockup = function() {
var table = {};
return {
getItem: function(key) {
return table[key];
},
setItem: function(key, value) {
table[key] = value.toString();
},
removeItem: function(key) {
table.pop();
},
clear: function() {
table = {};
}
};
}();
Object.defineProperty(window, 'sessionStorage', {
value: mockup
});
it("must work", function () {
console.log("testing...");
spyOn(sessionStorage, 'getItem').andReturn("my value");
alertItem("id");
expect(sessionStorage.getItem).toHaveBeenCalled();
});
});
有人有想法吗?
谢谢。
HTMLUnit
不支持许多HTML5功能 - 虽然你的浏览器支持,这就是为什么它可以在浏览器中工作,但不能作为HTMLUnit构建的一部分。
正如@Kyle所建议的那样,在jasmine-maven-plugin上使用sessionStorage与PhantomJS而不是HtmlUnit有效!
更多信息请访问: http://searls.github.io/jasmine-maven-plugin/phantomjs.html
谢谢!
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- HTML5音频加载和播放获胜'我不能在iPad上工作
- HTML5页面底部棒
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- Is onfling available for html, html5
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 安卓平台上的QWebView HTML5地理位置
- Javascript语法向设置发出sessionStorage值
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 如何检查用户在html5视频播放器中观看了完整的视频
- 如何使用HTML5中的sessionStorage概念在Javascript中打印对象数据
- html5文件api,将用户选择的目录存储在sessionStorage中
- HtmlUnit 和 jasmine-maven-plugin 是否支持 HTML5 sessionStorage?
- html5 SessionStorage没有'不能在android模拟器中工作
- HTML5 sessionStorage未按预期工作
- Html5 sessionStorage over server-session?
- HTML5 sessionStorage或chrome.存储的Chrome扩展
- 是否有一个为HTML5 sessionStorage提供良好兼容性实现的包装器?
- 我们总是有session[]变量,那么代码呢?来自HTML5的SessionStorage带来了新的