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

2022-03-13 00:00:00 automated-tests javascript cypress

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

cy.get(element).invoke('attr', 'target', ' _self').click()

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


解决方案

我会尝试从产生的主题和cy.visit()(表示柏树在同一应用程序选项卡中打开它)调用href属性,如下所示:

cy.get(element).invoke('attr', 'href').then(myLink => {
    cy.visit(myLink);
})

相关文章