问题标签 [jest-puppeteer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
560 浏览

angular - 如何在 jest puppeteer e2e 测试中运行单个测试文件?

我是 puppeteer 自动化测试的新手,谁能告诉我如何只执行一个测试文件。

0 投票
2 回答
1328 浏览

jestjs - 预设 jest-puppeteer 无效

在一个有效的 jest + puppeteer 项目中,我正在转向 jest-circus 以使用jest-circus 重试功能。如文件所述,我安装了 jest-circus 并设置为跑步者,但我获得了像往常一样运行测试

这是我的 jest.config.js 文件

我没有找到任何谈论我的问题的页面,jest-circus 和 jest-preset 不能共存?

0 投票
1 回答
217 浏览

jasmine - 监视傀儡电话

我正在构建一个使用 puppeteer 的网络爬虫。我显然想确保在解决问题时不会破坏事情,所以我正在编写一些实现测试。

我将如何测试下面的代码?问题是 newPage() 是嵌套的,我不知道如何为它创建一个间谍。

有任何想法吗?我是否应该以不同的方式构造代码以使其更易于测试(从我读过的内容来看这是一个很大的禁忌)。很高兴听到您的建议。

0 投票
2 回答
1319 浏览

javascript - 使用 Jest-Puppeteer (Javascript) 进行 HTML 画布测试

我有一个签名组件 (React.js),需要使用我用 Jest-Puppeteer 构建的自动化套件进行测试。该组件是一个<canvas>HTML 元素。

<canvas width="1316" height="500" style="width: 100%; touch-action: none;"></canvas>

我找到了这个 npm 包:https ://www.npmjs.com/package/jest-canvas-mock和 StackOverflow 上的另一个解决方案:HTML Canvas Unit testing

但是,我想知道是否有人可以更全面地解释如何准确地在<canvas>标签上自动化一个过程,然后用 Jest-Puppeteer 理想地断言它,即它是如何ctx工作的,它的属性等。

谢谢!

0 投票
0 回答
1466 浏览

jestjs - Jest-Puppeteer 测试失败 - 目标已关闭

这是我第一次使用 puppeteer 进行的笑话测试。我正在尝试登录一个站点并测试登录后第一页的标题是否正确。

这是在 headful 模式下完成的。

我可以看到登录成功。但是测试失败,vsCode 终端显示如下错误。请指教。

///////////////// 错误信息 ////////////////// PS F:\Projects\onplan_jest> npm 测试

PS F:\Projects\onplan_jest> npm 测试

onplan_jest@1.0.0 测试 F:\Projects\onplan_jest jest

FAIL ./login.test.js ● 测试套件无法运行

测试套件:1 个失败,总共 1 个测试:总共 0 个快照:总共 0 个时间:6.811 秒运行所有测试套件。(节点:501740)UnhandledPromiseRejectionWarning:错误:协议错误(Runtime.callFunctionOn):目标已关闭。
在 F:\Projects\onplan_jest\node_modules\puppeteer\lib\Connection.js:148:63 在 CDPSession.send 处的新 Promise () (F:\Projects\onplan_jest\node_modules\puppeteer\lib\Connection.js:147: 16) 在 ExecutionContext._evaluateInternal (F:\Projects\onplan_jest\node_modules\puppeteer\lib\ExecutionContext.js:77:50) 在 ExecutionContext.evaluateHandle (F:\Projects\onplan_jest\node_modules\puppeteer\lib\ExecutionContext.js: 35:21)在 ExecutionContext。(F:\Projects\onplan_jest\node_modules\puppeteer\lib\helper.js:83:27) 在 ElementHandle.evaluateHandle (F:\Projects\onplan_jest\node_modules\puppeteer\lib\JSHandle.js:43:46) 在 ElementHandle . (F:\Projects\onplan_jest\node_modules\puppeteer\lib\helper.js:83:27) 在 ElementHandle.$ (F:\Projects\onplan_jest\node_modules\puppeteer\lib\JSHandle.js:347:35) 在 ElementHandle . (F:\Projects\onplan_jest\node_modules\puppeteer\lib\helper.js:83:27) -- ASYNC -- 在 ExecutionContext。(F:\Projects\onplan_jest\node_modules\puppeteer\lib\helper.js:82:19) 在 ElementHandle.evaluateHandle (F:\Projects\onplan_jest\node_modules\puppeteer\lib\JSHandle.js:43:46) 在 ElementHandle . (F:\Projects\onplan_jest\node_modules\puppeteer\lib\helper.js:83:27) 在 ElementHandle.$ (F:\Projects\onplan_jest\node_modules\puppeteer\lib\JSHandle.js:347:35) 在 ElementHandle . (F:\Projects\onplan_jest\node_modules\puppeteer\lib\helper.js:83:27) 在 DOMWorld.$ (F:\Projects\onplan_jest\node_modules\puppeteer\lib\DOMWorld.js:96:38) 在 processTicksAndRejections (internal/process/task_queues.js:97:5) -- ASYNC -- 在 Frame。(F:\Projects\onplan_jest\node_modules\puppeteer\lib\helper.js:82:19) 在 Page.$ (F: \Projects\onplan_jest\node_modules\puppeteer\lib\Page.js:219:33) 在 Page.$ (F:\Projects\onplan_jest\node_modules\puppeteer\lib\helper.js:83:27) 在 Object. (F:\Projects\onplan_jest\login.test.js:48:27) (node:501740) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志 此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志 此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志--unhandled-rejections=strict(见https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝 ID:1)(节点:501740)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。错误:找不到进程“497896”。测试运行完成后一秒钟,Jest 没有退出。

这通常意味着在您的测试中没有停止异步操作。考虑运行 Jest--detectOpenHandles来解决此问题。在对象。(F:\Projects\onplan_jest\login.test.js:48:27) (node:501740) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志--unhandled-rejections=strict(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝 ID:1)(节点:501740)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。错误:找不到进程“497896”。测试运行完成后一秒钟,Jest 没有退出。

这通常意味着在您的测试中没有停止异步操作。考虑运行 Jest--detectOpenHandles来解决此问题。(节点:501740)UnhandledPromiseRejectionWarning:TypeError:测试环境被拆除后捕获错误

赋值给常量变量。(节点:501740)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志--unhandled-rejections=strict(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝编号:3)

///////////// 标题 在此处输入图像描述

0 投票
1 回答
683 浏览

jestjs - Jest-Puppeteer - 期望调用一个断言,但接收到零个断言调用

此脚本正在登录站点。这是我的第一个笑话测试。测试前的最后一行单击 ul 下拉列表中的 li。然后我们导航到带有 url https://uat2.onplanapp.com/#/的新页面

作为一个简单的测试,我试图检查这确实是新页面的 url。当我在浏览器中观看时,脚本会登录并导航到正确的页面。

得到如下所示的错误。

代码

错误信息

onplan_jest@1.0.0 测试 F:\Projects\onplan_jest jest

FAIL ./login.test.js (6.165 s) × url 应该是正确的" (2 ms)

● url 应该是正确的”

● url 应该是正确的”

● url 应该是正确的”

测试套件:1 个失败,总共 1 个测试:1 个失败,总共 1 个快照:总共 0 个时间:6.316 秒,估计 7 秒运行所有测试套件。测试运行完成后一秒钟,Jest 没有退出。

这通常意味着在您的测试中没有停止异步操作。考虑运行 Jest--detectOpenHandles来解决此问题。 错误信息结束

0 投票
1 回答
1956 浏览

jestjs - Jest-Puppeteer 为什么警告“测试运行完成后一秒钟 Jest 没有退出

我终于通过了我的第一个笑话木偶测试。- 下面的代码。但是我收到了警告。

测试运行完成后一秒钟,Jest 没有退出。这通常意味着在您的测试中没有停止异步操作。考虑运行 Jest--detectOpenHandles来解决此问题。

我在stackoverflow上查看了其他问题,看起来我应该使用我添加到测试中的“完成”。但是我仍然收到同样的警告。测试仍然通过。

为什么我会收到警告?

0 投票
2 回答
140 浏览

javascript - Jest-Puppeteer > 试图获取页面上最后一个 h4 的 textContent

我正在尝试获取页面上最后一个 h4 的 textContent。以下是我的代码片段。当我 console.log models.length 为 0 时。页面上实际上有 39 个 h4。

请指教

0 投票
1 回答
178 浏览

javascript - 如何使用 puppeteer 获取 oauth 访问令牌?

我需要先获取 oauth 访问令牌,然后将其作为参数传递给我的发布请求,请让我知道如何使用 puppeteer 来实现。

我是木偶师的新手,我很乐意协助。

0 投票
1 回答
434 浏览

jestjs - 如何使用 Jest 运行来自不同文件的不同描述块

我需要以确定的顺序运行来自不同文件的不同描述块。此外,我需要在此块之间传递 1 个参数,但该参数需要保持它离开之前描述的状态。例如,我有这个:

文件1.test.js

文件2.test.js

我想使用此参数按以下顺序运行测试:

我用来运行测试:jest --runInBand