Cypress - 标签


Cypress 没有专门处理标签的命令。它可以通过 jQuery 提供一种变通方法来处理标签。在 html 代码中,由于 target 属性,链接或按钮会打开一个新标签页。

如果 target 属性的值为空,则会在新标签页中打开。Cypress 使用 jQuery 方法 removeAttr,该方法由 invoke 命令调用。removeAttr 删除属性,该属性作为 invoke 方法的参数之一传递。

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

相应的 Html 代码如下所示:

Tabs

实现

以下是关于 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');
   });
});

执行结果

输出如下所示:

Implementation

输出日志显示了 target 属性的删除以及在新标签页中在父窗口内启动。

广告