我如何使用 TestCafe 修改浏览器网络调用请求正文
How do i modify browser network call request body using TestCafe
我想通过使用 Testcafe 中断网络调用来修改 API 请求正文。
我知道我可以修改响应主体,但我想改为修改请求主体,使用 testCafe 的 RequestMock()。
加载网络应用 > 使用过滤器找到 API > 修改请求正文 > 将实际响应传递给网络应用
您可以实现一个Custom Request Hook来修改请求正文。
例如:
import { RequestHook } from "testcafe";
export class MyRequestHook extends RequestHook {
onRequest (event) {
if (event.requestOptions?.body)
event.requestOptions.body = Buffer.from(event.requestOptions.body, "utf8");
}
onResponse (event) {}
}
const customHook = new MyRequestHook(/api/);
fixture`Modify Request Body`
.page`http://localhost:3001`
.requestHooks(customHook);
test('Test', async t => {
await t.click('button');
});
我想通过使用 Testcafe 中断网络调用来修改 API 请求正文。 我知道我可以修改响应主体,但我想改为修改请求主体,使用 testCafe 的 RequestMock()。
加载网络应用 > 使用过滤器找到 API > 修改请求正文 > 将实际响应传递给网络应用
您可以实现一个Custom Request Hook来修改请求正文。
例如:
import { RequestHook } from "testcafe";
export class MyRequestHook extends RequestHook {
onRequest (event) {
if (event.requestOptions?.body)
event.requestOptions.body = Buffer.from(event.requestOptions.body, "utf8");
}
onResponse (event) {}
}
const customHook = new MyRequestHook(/api/);
fixture`Modify Request Body`
.page`http://localhost:3001`
.requestHooks(customHook);
test('Test', async t => {
await t.click('button');
});