NightwatchJS捕获网络流量/网络响应

时间:2017-09-27 14:47:16

标签: nightwatch.js

我有一个我正在测试的ReactJS SPA,特别是我正在测试用户注册。

这是我的SPA在用户注册时发出的GET请求的响应值。

{"data":{"id":1387,"token":"3f38cfd0-a392-11e7-8d24-130a2af7f20a"}}

如何在NightwatchJS中访问从我的SPA发出的网络请求返回的数据?

2 个答案:

答案 0 :(得分:0)

我使用了一种解决方法,将代码添加到我的React SPA中,console.warn在收到令牌后输出令牌。

然后我使用NightwatchJS getLog方法访问数据。这无论如何都不干净。

答案 1 :(得分:0)

乔纳森是对的。

这是捕获XHR流量的完整演示:

https://github.com/Bugazelle/nightwatch-capture-network-traffic

工作方式

  1. 利用ajaxListener.js

    js是从https://gist.github.com/icodejs/3183154分叉的

    此黑客会将所有XHR请求作为警告日志发送到控制台

    {
        "type": "response",
        "syncMode": this.syncMode,
        "method": this.method,
        "url": this.url,
        "requestData": this.requestData,
        "readyState": this.readyState,
        "responseText": this.responseText,
        "responseCode": this.status,
        "responseHeader": this.getAllResponseHeaders()
    }
  1. 然后利用Nightwatch API .getLog

    .getLog可以为我们捕获控制台警告日志