responseEventConfigureOpts
- это объект со свойствами includeHeaders
и includeBody
.Чтобы установить их, достаточно передать объект { includeHeaders: true/false, includeBody: true/false }
в качестве второго параметра в конструкторе RequestHook
.
Кроме того, вам не нужно писать какую-либо логику, связанную с ловушкой, из onRequest
или onResponse
методы.Посмотрите на эту документацию:
Метод onRequest
вызывается перед отправкой запроса.Используйте этот метод для обработки отправки запроса.Вы можете изменить параметры запроса перед его отправкой.Когда ответ получен, ловушка начинает готовиться к вызову метода onResponse
, который обрабатывает ответ.
Таким образом, вы можете проверить statusCode ответа в методе onResponse
:
onResponse (e) {
const code = e.statusCode;
}
UPD.
import { RequestHook } from 'testcafe';
const allResponces = {};
class Hook extends RequestHook {
constructor (testName) {
super();
this.testName = testName;
allResponces[this.testName] = [];
}
onRequest (e) {
console.log('onRequest');
}
onResponse (e) {
console.log('onResponse');
allResponces[this.testName].push(e);
}
}
const getHook = (testName) => {
return new Hook(testName);
};
fixture `Hook`
.page `http://example.com`;
test('basic', async t => {
await t.click('h1');
await t.click('div');
console.log(allResponces['basic'].length);
await t.expect(allResponces['basic'].every(r => r.statusCode === 200)).ok();
}).requestHooks(getHook('basic'));