Я новичок в API-тестировании, я использую test-cafe
, и я написал тест для выполнения GET
запроса с использованием RequestHook , который работает нормально, я смог получить данные, но когда я пытаюсь сделать запрос POST
, используя тот же RequestHook , и я не могу отправить данные при выполнении запроса, поскольку он должен иметь тип буфера.
Я не могу преобразовать данные типа JSON в буфер. Делая запрос POST
.
Я хочу знать, является ли это правильным способом сделать запрос POST
с использованием RequestHook или нам нужно использовать RequestLogger , чтобы сделать запрос POST
? Если оба метода не верны, можете ли вы рассказать мне о каких-либо руководствах по API-тестированию с использованием test-cafe!
class MyRequestHook extends RequestHook {
constructor (requestFilterRules, responseEventConfigureOpts) {
super(requestFilterRules, responseEventConfigureOpts);
// ...
}
async onRequest (event) {
const userData = {
name: "Avinash",
gender: "male",
year : 1984,
month: 12,
day : 12,
place : "Bengaluru, Karnataka, India"
};
const bufferedData = Buffer.from(JSON.stringify(userData));
// the above code can't convert the data of type json to buffer type and the console stucks here, not able to print anything past this.
event.requestOptions.body = bufferedData;
}
async onResponse (e) {
console.log(e.body);
}
}
const myRequestHook = new MyRequestHook(url: 'http://localhost:3000/user/details', {
includeHeaders: true,
includeBody: true
});
fixture `POST`
.page('http://localhost:3000/user/details')
.requestHooks(myRequestHook);
test('basic', async t => {
/* some actions */
});
Ожидаемым результатом будет то, что он должен дать статус 200 после успешного выполнения запроса post, но в настоящее время он не может вызвать вышеупомянутую конечную точку API, поскольку не может преобразовать данные JSON в буфер.