Javascript onResourceRequested无法启动
我正在使用Jasmine框架和无头浏览器对Karma进行测试 在Javascript onResourceRequested无法启动,javascript,jasmine,phantomjs,karma-runner,karma-jasmine,Javascript,Jasmine,Phantomjs,Karma Runner,Karma Jasmine,我正在使用Jasmine框架和无头浏览器对Karma进行测试 在onCallback中注入javascript文件后,我无法使onResourceRequested被“激发”。我测试了onCallback执行,它被激发,加上页面。injectJs返回true,也就是成功 这是我的Karma配置文件(请查找带有“#”的注释): 如何使onResourceRequested发生在page.injectJs之后 谢谢。同步读取本地文件并将其同步注入页面。没有网络请求,因此无需触发onResourceR
onCallback
中注入javascript文件后,我无法使onResourceRequested
被“激发”。我测试了onCallback
执行,它被激发,加上页面。injectJs
返回true
,也就是成功
这是我的Karma配置文件(请查找带有“#”的注释):
如何使onResourceRequested
发生在page.injectJs
之后
谢谢。同步读取本地文件并将其同步注入页面。没有网络请求,因此无需触发onResourceRequested
事件侦听器。那么,如何“侦听”加载到页面中的资源?如果您自己加载资源,为什么必须“侦听”它们?在page.injectJs(data.require)
之前或之后完成你的工作。
module.exports = function(config) {
'use strict';
config.set({
autoWatch: false,
basePath: '',
frameworks: [
'jasmine'
],
files: [
// my test files
],
exclude: [
],
port: 8080,
browsers: [
'PhantomJS'
],
plugins: [
'karma-phantomjs-launcher',
'karma-jasmine',
],
reporters: ['progress'],
phantomjsLauncher: {
options: {
lastRequest: null,
onCallback: function(data) {
var externalAPI = {
getLastRequest: function() {
return page.lastRequest;
},
clearLastRequest: function() {
page.lastRequest = null;
}
};
if (data.hasOwnProperty('require')) {
return page.injectJs(data.require); // #SUCCEED!!!#
} else if (externalAPI.hasOwnProperty(data)) {
return externalAPI[data]();
}
return false;
},
onResourceRequested: function(request) {
page.lastRequest = request; // #DIDN'T HAPPEN AFTER injectJs succeed......#
}
},
exitOnResourceError: true
},
browserNoActivityTimeout: 10000,
singleRun: true,
colors: true,
logLevel: config.LOG_INFO,
});
};