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

reactjs - 使用 React 的 Jest-Puppeteer 测试不会在输入中输入文本

我有一个从“create-react-app”创建的应用程序,并且我添加了 puppeteer 来运行端到端测试。在尝试运行登录测试时,我无法在表单输入的登录中键入文本。

jest-puppeteer.config.js:

jest.config.js:

我的登录测试:

我还尝试使用以下任何一种:

await page.type('#username', 'abcd');

await expect(page).toFill('input[name="username"]', 'abcd');

但是,它仍然没有输入任何文本。我想知道我的设置是否适合 create-react-app。知道如何解决这个问题吗?

0 投票
1 回答
117 浏览

puppeteer - 在 jenkins 上单击按钮后,pupeteer 无法导航到新的 URL

单击按钮后,木偶操作者未导航到新 URL。

console.log(this.page.url);//当前网址

等待 this.utils.click(this.page, '[trackid=navigation_primary_button] :not([disabled])' );

console.log(this.page.url);//当前 URL // 预期的新 URL

试过:
awaitPromise.all([this.page.click('[trackid=navigation_primary_button]'),this.page.waitForNavigation()]); 结果:超时错误导航超时

0 投票
1 回答
322 浏览

javascript - 如何单击包含文本的链接

我想单击包含某些文本的链接。我尝试过使用 X-Path 表达式,但它不起作用。我正在测试的应用程序是多页面应用程序,所以我不确定是否生成了新页面。

的HTML:

我试过的:

显示事件列表.js

导航.test.js

我收到的错误:

0 投票
1 回答
296 浏览

jasmine - 通过命令行为 CI 运行 Jasmine 测试(耦合到 DOM/jquery 等)

我们有一组在本地 Web 服务器上成功运行的 Jasmine 测试。http服务器

试运行成功图片

我们希望在 TeamCity 构建过程中从命令行运行这些测试,而无需启动 Web 服务器。

使用 --disable-web-security 标志打开带有 chrome 的 html 文件会导致

加载模块脚本失败:服务器以非 JavaScript MIME 类型“”响应。根据 HTML 规范对模块脚本强制执行严格的 MIME 类型检查。

错误:加载模块脚本失败:服务器以非 JavaScript MIME 类型响应

可能是因为 SpecRunner.html 文件中带有 type="module" 的脚本引用

Jasmine 测试与 DOM/jQuery 耦合,因此它们需要在浏览器中运行。SpecRunner html 页面包含 type="module" 的脚本引用。

如果有任何测试失败,我们如何在 TeamCity 构建期间运行这些测试并导致构建失败?

谢谢。

0 投票
1 回答
332 浏览

javascript - 如何将 JSHandle 和本机对象(字符串)同时传递给 Puppeteer 评估函数?

我可以传递原生对象(字符串、列表、数字等)或 JSHandle 就好了(感谢@hardkoded),但不知道如何同时低音

这是我现在的代码,字符串 (deployName) 硬编码在正文中:

这完美地工作,但我需要弄清楚如何传递字符串变量,并且似乎无法弄清楚由于句柄和变量的传递方式不同(我如何传递字符串等变量的示例,这完全有效):

更新: hardkoded 提出了一个解决方案(我之前做过,但是在评估中添加了 '(node, itemName)'),但它似乎没有用,

由于 itemName 为空,因此得到“评估失败:TypeError:无法读取 null 的属性 'childNodes' ”。

0 投票
0 回答
222 浏览

javascript - 生成有关开玩笑木偶测试的文档

我正在使用 jest puppeteer 进行浏览器测试。我想围绕测试名称生成文档,以便了解我的套件中的所有测试。

一个测试文件可以有n多个测试。在下面的示例中,我在一个 js 文件中有 2 个测试。

有没有办法从上面的文件中生成测试名称,例如:

如果有一些实用程序或 npm 包我可以使用?

0 投票
2 回答
225 浏览

typescript - 从 puppeteer 中的函数调用时,单击使用 Xpath 不起作用

尝试使用 $x 单击元素但会引发错误。尝试了不同的方法但没有运气,谁能让我知道下面的代码或任何其他使用xpath点击的方式有什么错误。

下面是代码

//通用函数.ts

//questions.ts

在测试中尝试了 $$eval ,单击是有效的,但是当我将它放入函数中时它不起作用,它是否必须对函数调用做任何事情?

0 投票
0 回答
272 浏览

puppeteer - 如何在 puppeteer 中处理多个窗口?

就像我们在 selenium 中处理窗口的方式一样。在父窗口和子窗口之间切换。这可以在 puppeteer 中完成吗?

当我单击该链接时,它会在一个新选项卡中打开,我将在其中进行一些操作。然后我需要关闭该特定选项卡并返回到上一个选项卡并继续

0 投票
2 回答
7757 浏览

puppeteer - 如何从 Puppeteer 节点 js 中的 xPath 获取文本

在此处输入图像描述

我需要从 span 标签中获取文本并验证文本是否等于“检查”。

如何在 puppeteer 中实现这一点?

以下是我编写的代码示例,如果有人可以帮我解决这个问题,请。

0 投票
1 回答
164 浏览

puppeteer - Puppeteer 在错误的选项卡中找到元素

当我尝试单击产品时,它会在一个新选项卡中打开,我在其中执行文本内容操作。它返回 null 因为 puppeteer 正在错误选项卡中搜索元素