我正在將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,窗口對象不能只讀,應該做什麼改變?任何人都可以幫忙嗎?
在此先感謝。