How can I use BrowserMob Proxy with Protractor?

后端 未结 2 1274
野的像风
野的像风 2020-12-16 05:56

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

2条回答
  •  甜味超标
    2020-12-16 06:33

    You need to denodeify callbacks, i.e. turn them into Promises so Protractor will wait for them.

    Alternative 1: Using already included protractor.promise

      //...
      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;
      }
    

    Alternative 2: Using Q library

    var Q = require('q');
    
      //...
      onPrepare: function() {
        var proxy_doHAR = Q.nfbind(proxy.doHAR);
        return proxy_doHAR('http://yahoo.com');
      }
    

    More info here and here.

提交回复
热议问题