Cypress - 标签

Cypress 没有使用选项卡的特定命令。它在 jQuery 中有一个解决方法,通过它来处理选项卡。在 html 代码中,由于属性 target,链接或按钮会打开一个新选项卡。

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

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

其 Html 代码如下 -

选项卡

执行

下面给出的是在 Cypress 中使用有关选项卡的命令的实现 -

describe('Tutorialspoint', function () {
   // test case
   it('Scenario 1', function (){
      // url launch
      cy.visit("https://the-internet.herokuapp.com/windows")
      // delete target attribute with invoke for link
      cy.get('.example > a')
      .invoke('removeAttr', 'target').click()
      // verify tab url
      cy.url()
      .should('include', 'https://the-internet.herokuapp.com/windows/new')
      // shift to parent window
     cy.go('back');
   });
});

执行结果

输出如下 -

执行

输出日志显示目标属性的删除以及父窗口中新选项卡的启动。