如何在Protractor中使用BrowserMob代理?

下午

我想捕获在Protractor测试套件运行期间应用程序发出的网络请求。

BrowserMob代理看起来像是一个很棒的工具。

我想使用browsermob-node node.js绑定将BrowserMob代理集成到Protractor中,如下所示:

  • onPrepare:创建一个新的代理并启动它
  • beforeEach:开始一个新的HAR
  • afterEach:将HAR写入文件
  • onComplete:停止代理

但是,bro​​wsermob-node的API要求我将回调传递给每个方法onPrepareonComplete并且假定是同步的。没有done我可以通过的回调。

我的测试在Firefox,iOS和Android(通过Appium)上运行。

里奥·加卢奇(Leo Gallucci)

您需要对回调进行脱节点处理即将它们转换为Promises,以便Protractor将等待它们。

备选方案1:使用已经包含的量角器

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

备选方案2:使用Q库

var Q = require('q');

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

更多信息在这里这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在android studio中使用代理连接

来自分类Dev

如何在Dart中使用从javascript返回的代理

来自分类Dev

如何在Scala中使用Java代理

来自分类Dev

如何在Windows上的Putty SOCKS代理中使用python请求?

来自分类Dev

如何在Robobrowser中使用代理

来自分类Dev

如何使用WebDriver设置BrowserMob?

来自分类Dev

如何在ember.js中使用ObjectProxy在原型上代理方法?

来自分类Dev

使用ChromeDriver设置browsermob代理

来自分类Dev

您如何在boto3中使用HTTP / HTTPS代理?

来自分类Dev

如何在C#中使用System.Net.WebRequest设置用户代理

来自分类Dev

如何在Go中使用Martini测试反向代理

来自分类Dev

如何在Meteor中使用ES2015代理?

来自分类Dev

如何在http-kit中使用代理

来自分类Dev

如何在Visual Studio Team Services托管的构建代理中使用git lfs

来自分类Dev

如何在Mountebank中使用代理记录请求和响应?

来自分类Dev

如何在Python3中使用HTTP代理?

来自分类Dev

Azure DevOps Pipeline构建代理:如何在程序集引用HintPath中使用或替换$(DevEnvDir)?

来自分类Dev

如何在Clojure中的代理宏中使用“ this”

来自分类Dev

如何在此超级代理调用中使用aysnc / await?

来自分类Dev

如何在docker env中使用ngnix反向代理通信UI和后端应用程序

来自分类Dev

如何在URL中使用带有访问令牌的nginx代理?

来自分类Dev

如何在NixOS中使用GnuPG代理设置SSH密钥短语缓存?

来自分类Dev

如何在代理和日语xml响应中使用curl

来自分类Dev

如何在袜子代理中使用pip?

来自分类Dev

如何在Dropnet中使用代理

来自分类Dev

如何在Robobrowser中使用代理

来自分类Dev

如何使用WebDriver设置BrowserMob?

来自分类Dev

如何在C#Neo4jClient中使用代理?

来自分类Dev

如何在 PHP 中使用 fsockopen(或兼容)与 SOCKS 代理?

Related 相关文章

  1. 1

    如何在android studio中使用代理连接

  2. 2

    如何在Dart中使用从javascript返回的代理

  3. 3

    如何在Scala中使用Java代理

  4. 4

    如何在Windows上的Putty SOCKS代理中使用python请求?

  5. 5

    如何在Robobrowser中使用代理

  6. 6

    如何使用WebDriver设置BrowserMob?

  7. 7

    如何在ember.js中使用ObjectProxy在原型上代理方法?

  8. 8

    使用ChromeDriver设置browsermob代理

  9. 9

    您如何在boto3中使用HTTP / HTTPS代理?

  10. 10

    如何在C#中使用System.Net.WebRequest设置用户代理

  11. 11

    如何在Go中使用Martini测试反向代理

  12. 12

    如何在Meteor中使用ES2015代理?

  13. 13

    如何在http-kit中使用代理

  14. 14

    如何在Visual Studio Team Services托管的构建代理中使用git lfs

  15. 15

    如何在Mountebank中使用代理记录请求和响应?

  16. 16

    如何在Python3中使用HTTP代理?

  17. 17

    Azure DevOps Pipeline构建代理:如何在程序集引用HintPath中使用或替换$(DevEnvDir)?

  18. 18

    如何在Clojure中的代理宏中使用“ this”

  19. 19

    如何在此超级代理调用中使用aysnc / await?

  20. 20

    如何在docker env中使用ngnix反向代理通信UI和后端应用程序

  21. 21

    如何在URL中使用带有访问令牌的nginx代理?

  22. 22

    如何在NixOS中使用GnuPG代理设置SSH密钥短语缓存?

  23. 23

    如何在代理和日语xml响应中使用curl

  24. 24

    如何在袜子代理中使用pip?

  25. 25

    如何在Dropnet中使用代理

  26. 26

    如何在Robobrowser中使用代理

  27. 27

    如何使用WebDriver设置BrowserMob?

  28. 28

    如何在C#Neo4jClient中使用代理?

  29. 29

    如何在 PHP 中使用 fsockopen(或兼容)与 SOCKS 代理?

热门标签

归档