Cypress - 选项卡

Cypress 没有专门用于选项卡的命令。它在 jQuery 中有一个变通方法,通过该方法可以处理选项卡。在 html 代码中,由于 target 属性的存在,链接或按钮会打开到新选项卡。

如果 target 属性的值为 blank,则会打开到新选项卡。Cypress 使用 jQuery 方法 removeAttr,该方法由invoke 命令调用。removeAttr 会删除该属性,该属性作为参数之一传递给invoke 方法。

一旦删除 target=blank,链接/按钮就会在父窗口中打开。稍后,在对其执行操作后,我们可以使用 go 命令返回到父 URL。

相同的 Html 代码如下 −

Tabs

实现

下面给出了 Cypress 中有关选项卡的命令使用的实现 −

describe('Tutorialspoint', function () {
    // 测试用例
    it('Scenario 1', function (){
        // url 启动
        cy.visit("https://the-internet.herokuapp.com/windows")
        // 使用链接的调用删除目标属性
        cy.get('.example > a')
        .invoke('removeAttr', 'target').click()
        // 验证选项卡 url
        cy.url()
        .should('include', 'https://the-internet.herokuapp.com/windows/new')
        // 切换到父窗口
        cy.go('back');
    });
});

执行结果

输出如下 −

Implementation

输出日志显示删除了目标属性并在父窗口内启动了新选项卡。