Javascript 无法使用Testcafe从页面截获传出AJAX请求
我试图将TestCafe用于客户端javascript库,但无法通过计数机制捕获测试页面加载时的任何传出AJAX请求 我尝试使用此库中的对象,包括使用regexJavascript 无法使用Testcafe从页面截获传出AJAX请求,javascript,request,automated-tests,e2e-testing,testcafe,Javascript,Request,Automated Tests,E2e Testing,Testcafe,我试图将TestCafe用于客户端javascript库,但无法通过计数机制捕获测试页面加载时的任何传出AJAX请求 我尝试使用此库中的对象,包括使用regex/\.org/设置第一个参数,以捕获任何使用.org后缀的传出平铺请求。我相信这是有道理的,因为所有发出的请求都会转到openstreetmap.org,目的是获取png地图块 我的测试的核心如下所示: import { RequestLogger } from "testcafe"; fixture`Hello World - Lea
/\.org/
设置第一个参数,以捕获任何使用.org后缀的传出平铺请求。我相信这是有道理的,因为所有发出的请求都会转到openstreetmap.org,目的是获取png地图块
我的测试的核心如下所示:
import { RequestLogger } from "testcafe";
fixture`Hello World - Leaflet`.page`http://localhost:8080`;
const logger = RequestLogger(/org/, {
logRequestHeaders: true,
logResponseHeaders: true
});
test("Test if there's an outgoing network request...", async t => {
// Do something...
await t
.wait(5000)
.expect(logger.count(() => true))
.gt(0, "Must detect more than zero outgoing requests to openstreetmap");
});
为了获取正确的AJAX请求传出计数,我是否缺少一些东西
如果有帮助的话,我已经制作了一个包含此问题的回购协议,其设置方式是人们可以尝试在不进行配置的情况下解决此问题:谢谢您的详细描述 您需要将
记录器
连接到测试
/夹具
。您还可以在测试运行期间使用t.addRequestHooks
和t.removeRequestHooks
方法附加和分离挂钩
在测试代码中,我将记录器
挂钩连接到测试
:
import { RequestLogger } from "testcafe";
fixture`Hello World - Leaflet`.page`http://localhost:8080`;
const logger = RequestLogger(/org/);
test
.requestHooks(logger)
("Test if there's an outgoing network request...", async t => {
await t
.wait(5000)
.expect(logger.count(() => true))
.gt(0, "Must detect more than zero outgoing requests to openstreetmap");
});