Cypress:防止通过动态创建和单击的链接打开新选项卡

Dav*_*ira 2 cypress

我想测试文件下载。它是通过单击使用此函数的按钮以编程方式制作的:

export function downloadURI(uri, target) {
  const link = document.createElement('a')
  if (target) link.target = target

  link.href = uri
  link.click()
}
Run Code Online (Sandbox Code Playgroud)

问题是,当您单击cy.click()该按钮时,新选项卡将打开并且测试失败。我通过断言加载模式在单击按钮后可见(当通过 HTTP 请求生成文件时)并且在生成下载后不可见来检查下载是否成功。

如何防止此选项卡打开以便测试不会失败?

Tor*_*ben 6

这对我有用:

cy.get('a').invoke('removeAttr', 'target').click()
Run Code Online (Sandbox Code Playgroud)