I\'d like to capture the network requests made by my application during a Protractor test suite run.
BrowserMob Proxy looks like a great tool for this.
I\'d
You need to denodeify callbacks, i.e. turn them into Promises so Protractor will wait for them.
//...
onPrepare: function() {
var deferred = protractor.promise.defer();
proxy.doHAR('http://yahoo.com', function(err, data) {
if (err) {
deferred.reject('ERROR: ' + err);
} else {
deferred.fulfill(data);
}
});
return deferred.promise;
}
var Q = require('q');
//...
onPrepare: function() {
var proxy_doHAR = Q.nfbind(proxy.doHAR);
return proxy_doHAR('http://yahoo.com');
}
More info here and here.