837 次瀏覽
我們可以在 Cypress 中實現標籤。Cypress 具有 .only 和 .skip 兩個標籤。.only 標籤用於執行其標記的 it 塊,而 .skip 標籤用於排除其標記的 it 塊。示例使用 .only 的實現describe('Tutorialspoint', function() //帶 .only 標籤的 it 塊 it.only('First Test', function() { cy.log("First Test") }) //帶 .only 標籤的 it 塊 It.only('Second Test', function() { cy.log("Second Test") }) it('Third Test', function() { cy.log("Third Test") }) })執行結果輸出 ... 閱讀更多
473 次瀏覽
我們可以在 Cypress 中實現鉤子。Cypress 鉤子用於在每個/所有測試之前/之後執行某些操作。一些常見的鉤子是 −before – 在 describe 塊中執行任何測試之前執行一次。after – 在 describe 塊中所有測試執行後執行一次。beforeEach – 在 describe 塊中每個 it 塊執行之前執行。afterEach – 在 describe 塊中每個 it 塊執行後執行。示例實現describe('Tutorialspoint', function() { before(function() { // 在 it 塊中所有測試之前執行一次 cy.log("Before hook") }) after(function() { ... 閱讀更多
143 次瀏覽
下圖解釋了 Cypress 的工作原理 −像 Selenium 這樣的自動化工具在瀏覽器外部執行。但是,Cypress 具有不同的架構。它在瀏覽器內部執行。Cypress 基於伺服器 - Node.js。Cypress 與 Node.js 持續互動,並且它們彼此協調工作。因此,Cypress 可用於測試應用程式的前端和後端。因此,Cypress 能夠處理 UI 上即時執行的任務,並同時在瀏覽器外部執行操作。Cypress 和 Selenium 之間的一些基本區別 ... 閱讀更多
696 次瀏覽
我們可以在 Cypress 中建立 TeamCity 報告。要安裝 TeamCity 報告的軟體包,請執行以下命令 − npm install cypress-teamcity-reporter --save-dev要為 Cypress 專案的 integration 資料夾中的所有規範生成報告,請執行以下命令 − npx cypress run --reporter teamcity
3K+ 次瀏覽
我們可以在 Cypress 中建立 JUnit 報告。要安裝 JUnit 報告的軟體包,請執行以下命令 − npm install cypress-junit-reporter --save-dev示例在 cypress.json 中的實現{ "reporter": "junit", "reporterOptions": { "mochaFile": "cypress/results/results.xml", "toConsole": true } }如果我們在一次執行中執行多個測試並希望為各個規範檔案提供唯一的報告,則必須在 cypress.json 中的 mochaFile 引數中新增 [hash]。示例在 cypress.json 中的實現以避免覆蓋報告{ "reporter": "junit", ... 閱讀更多
1K+ 次瀏覽
Cypress 支援大多數基於 React、Angular 等構建的現代應用程式。通常將 Cypress 與 Selenium 等自動化工具進行比較。關於哪個是更好的工具 [Cypress 和 Selenium],在自動化方面存在很多爭論。但是,Cypress 和 Selenium 都具有一套優點和缺點,我們應該根據使用者的需求選擇工具。現在讓我們討論一下 Selenium 和 Cypress 之間的一些區別,如下所示 −Cypress 以框架或 npm 的形式提供使用。它被認為是 ... 閱讀更多
356 次瀏覽
Cypress 儀表盤是一種選項,它使我們能夠檢視已記錄的測試,並詳細瞭解在執行過程中發生的事件。它以視覺化的方式顯示測試執行、其報告和執行狀態。當我們在 CI 環境中執行測試時,它是一個有用的工具。Cypress 儀表盤的優勢如下所示 −它提供有關在執行期間透過、失敗或跳過的測試用例數量的資訊。它提供了有關失敗測試的堆疊跟蹤的完整資訊。它為失敗的測試用例或在 ... 閱讀更多
Cypress 在其早期版本中無法處理框架。但在其最新版本中,他們為我們提供了自動化包含框架的場景的解決方案。框架是一種 html 結構,它駐留在另一個 html 結構中。如果要訪問框架內的元素,首先 Cypress 必須將其焦點從整個網頁移動到框架,然後與該框架內的元素互動。我們必須安裝一個外掛才能在 Cypress 中使用框架。我們將從專案 ... 閱讀更多
2K+ 次瀏覽
有時,單擊連結或按鈕會開啟另一個視窗,通常稱為子視窗。與 Selenium 和 Protractor 等其他自動化工具不同,Cypress 有一種獨特的方式來處理子視窗。它基本上透過將焦點從父視窗轉移到子視窗來不保留有關子視窗的資訊。現在讓我們瞭解為什麼連結或按鈕會在不同選項卡上的新網頁上開啟,這被認為是子視窗。這是由於該元素的 html 中設定的 target 屬性。如果省略,它將在同一視窗中開啟。Cypress 無法 ... 閱讀更多
滑鼠懸停操作在網頁中非常常見,當我們懸停在某個元素上時,就會顯示出一系列元素。Cypress 不支援像 Selenium 等其他自動化工具那樣的滑鼠懸停操作,因為它認為這種操作不穩定。Cypress 應該透過操作 DOM 元素來執行滑鼠懸停操作。Cypress 利用 JQuery 中的 show() 方法來實現。show() 方法顯示隱藏的元素(具有 CSS 屬性 display:none)並將其選中。此外,show() 方法僅適用於隱藏元素在 DOM 中的直接父級。現在,為了呼叫任何 JQuery 函式,Cypress 會... 閱讀更多