有没有办法强制 cypress 在同一选项卡而不是另一个选项卡中打开

eba*_*ter 5 javascript automated-tests cypress

我知道赛普拉斯的权衡之一是在多个选项卡上进行测试。但是,我们的网站默认打开另一个选项卡。我可以强制 Cypress 在同一选项卡上打开以继续我的测试吗?我有下面的代码,但仍然打开一个新选项卡:

cy.get(element).invoke('attr', 'target', ' _self').click()
Run Code Online (Sandbox Code Playgroud)

我记得在某个地方找到了它可以完成,但我凌晨 1 点的大脑无法通过谷歌搜索找到它。我还在 Cypress 文档中找到了这一点,但它可能与我的情况无关,因为我需要在通过 SSO 登录的新页面上执行多个断言: https: //docs.cypress.io/api/commands/ invoke.html#带参数的函数

Pra*_*dey 9

这对我有用:

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


小智 -1

href我会尝试从生成的主题调用attr cy.visit()(这意味着 cypress 在同一个应用程序选项卡中打开它),例如:

cy.get(element).invoke('attr', 'href').then(myLink => {
    cy.visit(myLink);
})
Run Code Online (Sandbox Code Playgroud)