- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
出于某种原因,我无法让 testcafe 的 RequestLogger 记录我正在进行的任何 API 调用。我已经阅读了几乎所有关于 RequestLogger 的文章和问题,所有内容都指向与下面代码相同的内容。不确定我做错了什么,任何帮助都会很棒。
引用资料:
Cannot intercept outgoing AJAX request from page using Testcafe
How to log Google Analytics calls in Testcafe?
我在本地运行并访问也在本地运行的 API,前端在端口 3000 上,后端在端口 8080 上,API 位于:8080/api/admin。我可以看到记录器被注入(inject)到测试中,但没有更新它,它只是一个带有初始 Prop 的乏味对象,并且会在 t.expect 语句后出错。
我想知道 beforeEach 是否破坏了某些东西,但我需要它来触发任何 API 调用,因为用户需要进行身份验证。我可以在调试时看到正在调用的 API 请求,我正在尝试拦截,但没有成功
测试咖啡馆版本:1.0.0 || 0.23.3
测试代码
// have tried several urls, from exact to generic to ports.
const logger = RequestLogger("/api/", {
logRequestHeaders: true,
logRequestBody: true
});
const url = 'localhost:3000/reports';
fixture `Report`
.page(url)
.requestHooks(logger)
.beforeEach(async (t: TestController) => {
await loginAndNavToReports({ t });
});
test("Reports", async (t: TestController) => {
// this fires an api call through the /api/ path
await t.click(".test-reportLaborSummary");
// have tried several comparisons here, all fail or expect falsey to be truthy errors
await t.expect(logger.count(() => true)).ok();
}
最佳答案
我怀疑 TestCafe 比调用 api 的代码运行得更快。
在使用记录器对象之前,您应该等待它至少收到一个调用。
要检查记录器是否接到电话,我建议这样做:
await wait_for_first_request();
const receivedCalls = logger.requests.length;
if (receivedCalls === 0) {
throw new Error('api has not been called')
}
async function wait_for_first_request() {
for (let i = 0; i < 50; i++) {
await t.wait(100);
if (logger.requests.length > 0 ) {
return;
}
}
}
关于javascript - testcafe RequestLogger 没有拦截 api 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54677238/
在 Page 类中测试了 React 应用程序的登录功能: async login(t) { console.log('starting login...'); debugger;
我正在尝试使用 getStyleProperty('border') 使用 testcafe 测试图像上的边框,它总是返回未定义。 box-shadow 等其他属性工作正常。 HTML: const
我试图在使用 testCafe 登录后重定向到另一个页面,但在登录后其他页面保持空白,也就是说,它永远不会加载,或者在其他时候它只是关闭 session 而不进入。事实是它不会让我在登录后进入主页。我
我正在使用 https://hub.docker.com/r/testcafe/testcafe/ 运行我们的 Testcafe 项目,它工作正常,除了失败时无法创建屏幕截图目录,原因是: Error
我使用 TestCafé 的“testcafe-browser.provider-browserstack”插件。我尝试在我的应用程序中使用它,但我总是收到一条消息,提示登录错误。数据是正确的(只是“
我使用 TestCafé 的“testcafe-browser.provider-browserstack”插件。我尝试在我的应用程序中使用它,但我总是收到一条消息,提示登录错误。数据是正确的(只是“
浏览器:全部 测试咖啡馆:v0.23.0 node.js: v8.12.0 操作系统:macOS、Windows 10 自更新(0.21.0 -> 0.23.2)以来,测试的执行时间增加了两倍。自更新
我使用的是 TestCafe 1.1.0 版和 Testcafe-react-selector 3.1.0 版。我的目标是从节点返回文本。 HTML 树如下所示: board W
他们两个是否以某种方式融合在一起?两者关系扑朔迷离,且同名。249.99 美元的工具能否用于运行使用开源 API 编写的测试? 最佳答案 TestCafe 最初是作为付费的独立工具出现的。除了测试运行
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 4 年前。 Improve
在 Vagrant VM 中运行 testcafe,它大部分时间都在工作。 但是,Chrome 在这种启用了硬件加速的环境中无法正常启动,所以我必须使用命令行标志 --disable-gpu 来启动它
我正在学习testcafe,我是这里的新手。 根据testcafe文档命令 npx testcafe 'chrome --start-fullscreen'应该打开全屏并运行测试,这是完美的工作。但是
我现在使用 TestCafe 有一段时间了,从来没有遇到过问题。几天前 TestCafe 开始运行我的测试两次,产生了很多问题。我在 https://github.com/DevExpress/tes
我正在尝试从 Chrome 上的模式中获取文本。使用控制台,我可以得到如下内部文本: document.querySelector('.my-form > a').innerText // retur
我正在使用 TestCafe 0.23.3。我正在尝试验证一个元素是启用还是禁用。这是禁用时元素的 HTML 节点: Add Person 这是启用时元素的 HTML 节点: Add Person 这
我正在尝试开始使用 Testcafe。 我已经使用 npm 在全局范围内安装了它,并且我正在关注 https://devexpress.github.io/testcafe/documentation
我需要使用 Testcafe 从 POST 调用中检索信息。 我需要手动做的是: 在 Chrome 中打开开发人员工具, 捕获流量并按特定请求名称过滤, 转到标题 -> 请求有效负载 在请求有效负载中
如何在运行测试时显示分步信息?当前运行命令 testcafe chrome .\test\customer.js 一般来说,需要查看有关执行内容的更多信息。 最佳答案 目前,TestCafe 中不存在
所以,我正在尝试创建一个自定义函数,它允许我检查一个字段是否包含数字或文本,但为了进一步测试,我将需要检查更复杂的东西,比如某个表的总和是否等于某事等我找不到自定义函数的示例,例如: function
我正在尝试在 testcafe 上选择一个动态下拉值。 值“select2-result-label-7”保持与最后一个数字相同。我怎样才能选择正确的下拉菜单?我尝试了模式匹配,但没有成功。 可以帮我
我是一名优秀的程序员,十分优秀!