如何模拟不同来源 URL 的相同请求(对于 TestCafe)

How to mock the same request of different origins URLs (for TestCafe)

我需要模拟同一个请求,该请求由 2 个不同的来源(url1、url2)发起。 但是唯一的一个请求(来自第一个来源 url1)被嘲笑了。 如何使用多个来源? 提前致谢。

const urlRegExp = new RegExp('/events');
const mock = RequestMock()
    .onRequestTo(urlRegExp)
    .respond({eenter code hererror: 'this request has been mocked'}, 500, {
        'access-control-allow-origin': 'url1.com',
        'access-control-allow-credentials': true
    })
    .onRequestTo(urlRegExp)
    .respond({error: 'this request has been mocked'}, 500, {
        'access-control-allow-origin': 'url2.com',
        'access-control-allow-credentials': true
    });

您需要修改您的 onRequestTo 调用。请查看 TestCafe 文档的 Filter With Predicate section

const mock = RequestMock()
    .onRequestTo(request => {
        return request.url === 'http://example.com' &&
               request.method === 'post' &&
               request.isAjax &&
               request.body.toString() === 'foo=bar';
    })
    .respond(/*...*/);

您可以将您的请求模拟设置为按请求 headers 过滤请求,例如主机、引用者、来源等。因此您需要为不同的请求编写不同的过滤器。