问题标签 [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 投票
0 回答
331 浏览

jestjs - bitbucket 上的 jest-puppeteer / 没有退出,坚持成功

使用以下快速配置运行 jest-puppeteer:

通过以下简单测试:

jest-puppeteer 配置如下:

我的 bitbucket 管道有问题;所有测试都通过了,但命令永远不会退出

它被卡住的原因是什么?是否涉及 webpack conf?

只需在信号量上运行相同的测试脚本,一切正常

非常感谢任何建议的答案

0 投票
0 回答
1465 浏览

javascript - 使用 puppeteer 在具有窗口访问的真实浏览器环境中运行 jest 单元测试

我想要的是

我的代码广泛依赖于全局窗口对象(及其方法),它没有完全由 jsdom 实现,但在真实的浏览器环境中可用。所以我想在 puppeteer 页面上下文环境中运行单元测试,以便覆盖的代码(及其依赖项)可以访问真实的窗口对象。

问题

主要问题是 puppeteer 设计为在页面上下文之外运行 e2e 测试。我发现没有办法像 jsdom 那样在页面上下文中执行具体的测试套件而不运行整个构建,尽管它是公共界面/GUI(这会扼杀整个单元测试的想法)。

我试过的

我尝试编写自定义测试环境来运行 puppeteer page.evaluate 可以访问窗口对象的上下文中的每个测试套件:

但似乎 puppeteer 序列化了评估参数,所以我找不到在它的上下文中进行 runScript 调用的方法。

我还尝试将评估窗口对象克隆到全局变量中,但由于同样的原因没有任何运气(序列化问题)

0 投票
0 回答
136 浏览

jquery - Puppeteer:如何从多个页面/选项卡中抓取刷新页面上的数据

我有下面的代码来从一页中抓取数据

此代码仅适用于一个选项卡/页面。我需要为多页/标签找到解决方案

0 投票
1 回答
1519 浏览

jestjs - 如何在 jest-puppeteer 中运行特定的测试套件

我想在 jest-puppeteer 中运行特定的测试套件以实现 UI 自动化。我可以使用下面的来运行特定的测试。

笑话 -t test_name

其中 test_name 来自“it”而不是“describe”,没有引号。

是否还有其他 cmd 也可以运行描述下的所有测试。

0 投票
1 回答
552 浏览

javascript - 使用 puppeteer,我如何等待特定的 xhr 请求完成

我正在测试我的反应应用程序,我想检查是否发送了来自我的应用程序的 XHR 请求。当我使用 page.waitFor(5000) 时,它有时会起作用,但有时不会。有没有更好的方法让代码等待 XHR 完成或被解析?

0 投票
4 回答
6438 浏览

chromium - 为什么我需要在 `npm install` 之后运行 `node install.js` 来“重新安装” Puppeteer?(错误:未下载 Chromium 修订版。)

否则,当我尝试使用 Puppeteer 运行测试时,我得到Error: Chromium revision is not downloaded. Run "npm install" or "yarn install"

似乎npm i在我的部门中使用 Puppeteer 就足够了,但是安装完成后,我需要cd进入/node_modules/puppeteer然后运行node install.js以下载正确的修订版。

当我做初始npm i我看到

但这不起作用,我收到修订错误。

在我node install.js进入 Puppeteer 的目录之后,我看到了

那我可以走了。

任何想法为什么?这是在 macOS 和 Node 10.15 上,我认为在 CI 中执行此操作会更加困难。

我四处搜索,发现其他人有这个问题,但没有解决这个问题的可靠方法。

包.json

0 投票
2 回答
3954 浏览

javascript - Puppeteer:按类查找 iframe

我正在将 Puppeteer 与 Jest 一起使用,我正在尝试使用此函数获取 iframe 元素:

问题是:有没有办法通过他的类而不是 name 属性来获取 iframe?

我无权访问此 iframe 来插入新属性,因此我需要按类进行选择。

0 投票
1 回答
479 浏览

jest-puppeteer - 有没有办法使用 puppeteer 一个接一个地运行测试脚本,因为我不希望每个 js 文件都很大

我有 2 个测试文件,test1.js 和 test2.js。我想按顺序运行它们,测试 1 然后运行 ​​test2。有没有办法做到这一点?

0 投票
0 回答
346 浏览

puppeteer - 鼠标按下并截取元素的屏幕截图

我正在尝试在元素上模拟 mousedown 操作,然后拍摄快照,但这似乎不起作用,因为屏幕截图不是我所期望的。

根据api docs,这就是它的作用

我尝试了以下方法:

按下鼠标时,该按钮有一些动画,这就是我要截屏的内容。

感谢支持

0 投票
1 回答
287 浏览

puppeteer - 用户界面在 puppeteer 上似乎有所不同

尽管我使用 puppeteer 进行端到端测试的大部分过程都可以正常工作(这是一系列相当简单的 page.select/type/waitfor/etc),但 UI 似乎有偏差。

当流程结束时,UI 会重新调整到它应该看起来的样子,但前提是一切都结束了。我尝试启动一个普通的 Chromium 实例,它看起来也应该如此。

测试代码看起来像这样

我在 MacOS Mojave 10.14 上,但我想这不是罪魁祸首。