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 屬性的刪除以及在新標籤頁中在父視窗內啟動。

廣告