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

NightwatchJS capture network traffic / network response

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

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

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

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

我正在使用一种变通方法,将代码添加到我的 React SPA 中,console.warn 在收到令牌时不在令牌中。

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

乔纳森是对的。

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

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

工作原理

  1. 利用 ajaxListener.js

    The js is forked from https://gist.github.com/icodejs/3183154

    此 hack 会将所有 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. 然后利用守夜人API.getLog

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