
- Cypress 教程
- Cypress - 首頁
- Cypress - 簡介
- Cypress - 架構和環境設定
- Cypress - 測試執行器
- Cypress - 構建第一個測試
- Cypress - 支援的瀏覽器
- Cypress - 基本命令
- Cypress - 變數
- Cypress - 別名
- Cypress - 定位器
- Cypress - 斷言
- Cypress - 文字驗證
- Cypress - 非同步行為
- Cypress - 處理 XHR
- Cypress - jQuery
- Cypress - 複選框
- Cypress - 標籤
- Cypress - 下拉列表
- Cypress - 警報
- Cypress - 子視窗
- Cypress - 隱藏元素
- Cypress - 框架
- Cypress - 網頁表格
- Cypress - 滑鼠操作
- Cypress - Cookie
- Cypress - Get 和 Post
- Cypress - 檔案上傳
- Cypress - 資料驅動測試
- Cypress - 提示彈出視窗
- Cypress - 儀表盤
- Cypress - 截圖和影片
- Cypress - 除錯
- Cypress - 自定義命令
- Cypress - Fixture
- Cypress - 環境變數
- Cypress - Hook
- Cypress - JSON 檔案配置
- Cypress - 報告
- Cypress - 外掛
- Cypress - GitHub
- Cypress 有用資源
- Cypress - 快速指南
- Cypress - 有用資源
- Cypress - 討論
Cypress - 標籤
Cypress 沒有專門處理標籤的命令。它可以透過 jQuery 提供一種變通方法來處理標籤。在 html 程式碼中,由於 target 屬性,連結或按鈕會開啟一個新標籤頁。
如果 target 屬性的值為空,則會在新標籤頁中開啟。Cypress 使用 jQuery 方法 removeAttr,該方法由 invoke 命令呼叫。removeAttr 刪除屬性,該屬性作為 invoke 方法的引數之一傳遞。
刪除 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'); }); });
執行結果
輸出如下所示:

輸出日誌顯示了 target 屬性的刪除以及在新標籤頁中在父視窗內啟動。
廣告