如何使用 Cypress 获取和分析带有 blob url 的 pdf 文件

问题描述 投票:0回答:1

我正在为 Web 应用程序开发自动化框架。它基于赛普拉斯。 在其中一个应用程序页面上,我必须下载一个动态生成的 PDF 文件并分析其内容。 PDF 文件的 URL 是一个看起来像 blob:https://.... 的 blob URL。当我点击链接时,它只是在新的浏览器选项卡中打开它。由于它是赛普拉斯,我无法使用新窗口。当我尝试使用我收到的 blob URL 调用 cy.visit 时:

错误:无效协议:blob:

我知道 Cypress 中的 Blob 库,但我很难从文档中理解如何在我的案例中使用它。

automation cypress blob
1个回答
0
投票

我想你可以使用

cy.request()
来获取pdf内容

cy.get(pdf-link-element)
  .invoke('attr', 'href')
  .then(href => {
    cy.request(href).then(pdfContent => {
      ...
    })
  })

这会让你绕开窗户,但下一个问题是如何使用

pdfContent
这会有点原始。

也许

cy.writeFile()
它到
/cypress/downloads
并使用pdf解析库来获得有用的东西来测试。

© www.soinside.com 2019 - 2024. All rights reserved.