问题标签 [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.
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。知道如何解决这个问题吗?
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()]); 结果:超时错误导航超时
javascript - 如何单击包含文本的链接
我想单击包含某些文本的链接。我尝试过使用 X-Path 表达式,但它不起作用。我正在测试的应用程序是多页面应用程序,所以我不确定是否生成了新页面。
的HTML:
我试过的:
显示事件列表.js
导航.test.js
我收到的错误:
jasmine - 通过命令行为 CI 运行 Jasmine 测试(耦合到 DOM/jquery 等)
我们有一组在本地 Web 服务器上成功运行的 Jasmine 测试。http服务器。
我们希望在 TeamCity 构建过程中从命令行运行这些测试,而无需启动 Web 服务器。
使用 --disable-web-security 标志打开带有 chrome 的 html 文件会导致
加载模块脚本失败:服务器以非 JavaScript MIME 类型“”响应。根据 HTML 规范对模块脚本强制执行严格的 MIME 类型检查。
可能是因为 SpecRunner.html 文件中带有 type="module" 的脚本引用
Jasmine 测试与 DOM/jQuery 耦合,因此它们需要在浏览器中运行。SpecRunner html 页面包含 type="module" 的脚本引用。
如果有任何测试失败,我们如何在 TeamCity 构建期间运行这些测试并导致构建失败?
谢谢。
javascript - 如何将 JSHandle 和本机对象(字符串)同时传递给 Puppeteer 评估函数?
我可以传递原生对象(字符串、列表、数字等)或 JSHandle 就好了(感谢@hardkoded),但不知道如何同时低音
这是我现在的代码,字符串 (deployName) 硬编码在正文中:
这完美地工作,但我需要弄清楚如何传递字符串变量,并且似乎无法弄清楚由于句柄和变量的传递方式不同(我如何传递字符串等变量的示例,这完全有效):
更新: hardkoded 提出了一个解决方案(我之前做过,但是在评估中添加了 '(node, itemName)'),但它似乎没有用,
由于 itemName 为空,因此得到“评估失败:TypeError:无法读取 null 的属性 'childNodes' ”。
javascript - 生成有关开玩笑木偶测试的文档
我正在使用 jest puppeteer 进行浏览器测试。我想围绕测试名称生成文档,以便了解我的套件中的所有测试。
一个测试文件可以有n
多个测试。在下面的示例中,我在一个 js 文件中有 2 个测试。
有没有办法从上面的文件中生成测试名称,例如:
如果有一些实用程序或 npm 包我可以使用?
typescript - 从 puppeteer 中的函数调用时,单击使用 Xpath 不起作用
尝试使用 $x 单击元素但会引发错误。尝试了不同的方法但没有运气,谁能让我知道下面的代码或任何其他使用xpath点击的方式有什么错误。
下面是代码
//通用函数.ts
//questions.ts
在测试中尝试了 $$eval ,单击是有效的,但是当我将它放入函数中时它不起作用,它是否必须对函数调用做任何事情?
puppeteer - 如何在 puppeteer 中处理多个窗口?
就像我们在 selenium 中处理窗口的方式一样。在父窗口和子窗口之间切换。这可以在 puppeteer 中完成吗?
当我单击该链接时,它会在一个新选项卡中打开,我将在其中进行一些操作。然后我需要关闭该特定选项卡并返回到上一个选项卡并继续
puppeteer - Puppeteer 在错误的选项卡中找到元素
当我尝试单击产品时,它会在一个新选项卡中打开,我在其中执行文本内容操作。它返回 null 因为 puppeteer 正在错误选项卡中搜索元素