我们可以为Testcafe的RequestLogger中的方法提供多个键值吗

时间:2019-11-28 07:27:40

标签: testing xmlhttprequest automated-tests e2e-testing testcafe

const logger = RequestLogger({url : /.*/, method : 'PUT'},{
  logResponseHeaders: true,
  logResponseBody:    true,
  logRequestHeaders:  true,
  logRequestBody:     true,
  stringifyRequestBody: true,
  stringifyResponseBody: true
});

上面的代码很好。但是,如果我们拥有多个方法值,例如PUTPOSTPATCH等,该怎么办?

我尝试了

const logger = RequestLogger({url : /.*/, method : {'PUT','POST'}} 

但是似乎我们不能使用。我们还有其他选择吗?

1 个答案:

答案 0 :(得分:2)

您可以使用谓词通过method属性的多个值来过滤请求:

const logger = RequestLogger(request => {
    return request.url === 'http://example.com' &&
           (request.method === 'post' || request.method === 'put')
});

请参考TestCafe文档中的以下示例:https://devexpress.github.io/testcafe/documentation/test-api/intercepting-http-requests/select-requests-to-be-handled-by-the-hook.html#filter-with-a-predicate