我正在将PhantomJS迁移到我的项目中的Chromeheadless。该项目在Angular1.x中编写,并且有* .spec.js文件供测试。我做了以下更改以使用Chromeheadless。PhantomJS to Chromeheadless with navigator.userAgent
karma.conf.js
// browsers: ['PhantomJS']
browsers: ['ChromeHeadless']
的package.json
"karma": "^1.7.1",
"karma-chrome-launcher": "^2.2.0"
测试失败过的位置* .spec.js设置不同的userAgent。
window.navigator = {
userAgent: 'Firefox;'
}
window.navigator = {
userAgent: 'iPad;'
}
这是工作的罚款PhantomJS但抛出"cannot assign to readonly property navigator of object '#<Window>'"
的ChromeHeadless。
这是我如何得到我的窗口对象。
myfile.spec.js
'use strict';
describe('My test description', function(){
var rootScope, compile, window, $document, browser, scope, timeout;
beforeEach(inject(function($rootScope, $compile, $window, _$document_, _browser_, $timeout;){
rootScope = $rootScope;
compile = $compile;
window = $window;
$document = _$document_;
browser = _browser_;
timeout = $timeout;
}));
...
...
...
});
搜索互联网,找不到与我的问题的任何解决方案或主题。为了让我可以分配其他userAgents,窗口对象不能只读,应该做什么改变?任何人都可以帮忙吗?
在此先感谢。