问题标签 [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 回答
144 浏览

jestjs - Jest-Puppeteer 测试随机失败而没有输出

我有以下测试用例:

helper.navClick只是一个小包装:

大多数情况下,它会毫无问题地成功,但有时会被标记为失败:

这怎么可能发生?该网址多次包含“auth”,我没有看到任何其他可能导致测试失败的内容。

0 投票
0 回答
26 浏览

javascript - 我正在尝试使用 jest-puppeteer 自动化 paytm 的主页,但测试失败且没有任何错误。和 puppeteer 一起通过

场景如下: 转到:https : //paytm.com/ 单击注册按钮 [将打开框架窗口] 单击 watchVideo 按钮 单击关闭按钮 单击 X 按钮关闭框架。注意:当我在 puppeteer 上运行时,它正在通过。但是当我使用 jest-puppeteer 时,它正在执行每一行代码,但结果失败。即测试失败,没有任何错误。 在此处输入图像描述

0 投票
0 回答
67 浏览

javascript - 如何使用 puppeteer 捕获加载的脚本错误

我目前正试图捕捉注入脚本发生的错误。

我做了什么

我的 test.js

我需要处理我的规范处理加载的脚本错误的场景。我试图在评估块中观察窗口错误,const error = await page.evaluate(() => window.onerror = () => console.log('error'))但似乎没有结果,还试图从 puppeteer 页面中捕获此错误,例如

我觉得我在错误的环境中挖掘

0 投票
1 回答
48 浏览

javascript - 用于 UI 测试的夹具(JSON 文件)

有没有人使用fixtures(json文件)在postgres数据库中加载数据并执行UI测试?

0 投票
0 回答
24 浏览

node.js - 如何用 puppeteer 开玩笑地处理页面实例对象?

我正在使用 jest - puppeteer 进行 UI 自动化。我的查询是,单击任何按钮都会将我带到另一个选项卡,当我尝试在新选项卡中执行任何操作时它会失败。我试过 browser.once() 即,

现在你可以使用它了

当我尝试使用辅助命令时,它正在工作但不能使用辅助命令。有什么看法吗?

0 投票
1 回答
73 浏览

jestjs - 无法使用 jest-puppeteer 运行 Jest Snapshot 测试

我刚刚添加了 jest-puppeteer 以将其包含在我的测试套件中。部分设置是根据https://github.com/smooth-code/jest-puppeteertestEnvironment:"jsdom"删除我的。考虑到我正在使用可能在服务器上运行的 Next.js,并且无法访问诸如文档之类的浏览器对象,我如何在没有 的情况下运行我的快照测试?我正在寻找一种以编程方式更改 jest 配置的方法,但我找不到任何方法。有没有办法做到这一点?jest.config.jstestEnvironment:"jsdom"

0 投票
0 回答
25 浏览

javascript - 进入页面时如何执行循环

我检查了一个元素并且有 4 个元素匹配,我想一个一个地点击它们

单击第一个链接后,它将呈现页面并自动化该页面,然后出来并单击第二个链接,依此类推......

我已经尝试过,但出现错误“节点与文档分离”。我已经看到了解决方案,但它只是单击,我想自动化第一页,然后单击第二个链接。

请帮忙

这是我的代码我的代码在我只是一个一个地单击时有效,但是当我单击并进入新页面并再次返回并尝试单击具有相同类名的第二个链接时,那时会发生错误

0 投票
2 回答
40 浏览

javascript - XPath 的祖先返回父节点,而不是预期的节点

我有以下代码

我需要通过 xpath(数据源和属性)独立查找并选择两个“react-select-component”节点

这些是动态创建的反应下拉列表,并具有基于数据库值的唯一类名和内容。

当我尝试使用时:

$x("//div[contains(@class, 'react-select-component')]/ancestor::div[@class='editor-item']//label[contains(text(), '数据源')]")

//label 不是我所期望的 //div[class='react-select-component'] 返回的。我对 Xpath/ancestor 的理解是:

返回节点:

//div[contains(@class, 'react-select-component')]

与祖先:

/ancestor::div[@class='editor-item']//label[contains(text(), 'Data Source')]

我是不是倒过来了?

0 投票
1 回答
34 浏览

puppeteer - Puppeteer:如何在 puppeteer 中为按钮编写 XPath

如果我这样写,我的代码不会被执行。

0 投票
0 回答
45 浏览

javascript - JEST-PUPPETEER - 期望总是失败

我有以下问题。我是 Jest 和 Puppetteer 的新手,我正在尝试精心制作的测试自动化套件。在这种情况下,我必须编译一个表单并检查我是否被重定向到特定页面。

我能够编译表单,但是当我尝试阅读页面标题以检查我是否正确重定向女巫“期望”时,尽管我尝试写入 console.log 并且它看起来正确,但测试总是失败。所以我尝试插入一个非常基本的 expect expect(1+1).toBe(2),但测试再次失败,所以我明白问题出在之前,但我找不到它。

这是代码:

这是我在终端中得到的:

3 次失败和 1 次期望似乎也很奇怪......

希望有人能帮助我!❤</p>

PS:

  • 我必须审查一些内容以保护隐私
  • env 变量是用 dotenv 加载的
  • 启动测试的脚本是dotenv -e .env jest --detectOpenHandles --reporters=jest-junit
  • 如果我删除所有测试代码并只留下期望,测试会正常