Cypress系列(4)- 解析 Cypress 的默認文件結構


如果想從頭學起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

 

默認文件結構

在使用 cypress open 命令首次打開 Cypress,Cypress 會自動進行初始化配置並生成一個默認的文件夾結構,如下圖

 

前言

 這里先介紹文件結構中每種文件的作用是啥,后面再具體寫代碼的栗子

 

fixtures 測試夾具

簡介

  • 測試夾具通常配合 cy.fixture() 使用
  • 主要用來存儲測試用例的外部靜態數據
  • fixtures 默認就在 cypress/fixtures 目錄下,但也可以配置到另一個目錄

 

外部靜態數據的詳解

  • 測試夾具的靜態數據通常存儲在 .json 文件中,如自動生成的 examples.json 
  • 靜態數據通常是某個網絡請求對應的響應部分,包括HTTP狀態碼和返回值,一般是復制過來更改而不是自己手工填寫

 

fixtures 的實際應用場景

如果你的測試需要對某些外部接口進行訪問並依賴它的返回值,則可以使用測試夾具而無須真正訪問這個接口(有點類似 mock)

 

使用測試夾具的好處

  • 消除了對外部功能模塊的依賴
  • 已編寫的測試用例可以使用測試夾具提供的固定返回值,並且你確切知道這個返回值是你想要的
  • 因為無須真正地發送網絡請求,所以測試更快

 

命令示例

要查看 Cypress 中每個命令的示例,可以打開  cypress/integration/examples ,里面都是官方提供的栗子

 

test file 測試文件

簡介

測試文件就是測試用例,默認位於 cypress/integration ,但也可以配置到另一個目錄

 

測試文件格式

所有在 integration 文件下,且文件格式是以下的文件都將被 Cypress 識別為測試文件

  •  .js :普通的JavaScript 編寫的文件【最常用啦】
  •  .jsx :帶有擴展的 JavaScript 文件,其中可以包含處理 XML 的 ECMAScript
  •  .coffee :一套 JavaScript 轉譯的語言。有更嚴格的語法
  •  .cjsx :CoffeeScript 中的 jsx 文件

創建好后,Cypress 的 Test  Runner 刷新之后就可以看到對應測試文件了

 

plugin file 插件文件

前言

  • Cypress 獨有優點就是測試代碼運行在瀏覽器之內,使得 Cypress 跟其他的測試框架相比,有顯著的架構優勢
  • 這優點雖然提供了可靠性測試,但也使得和在瀏覽器之外進行通信更加困難【痛點:和外部通信困難】

 

插件文件的誕生

  • Cypress 為了解決上述痛點提供了一些現成的插件,使你可以修改或擴展 Cypress 的內部行為(如:動態修改配置信息和環境變量等),也可以自定義自己的插件
  • 默認情況,插件位於 cypress/plugins/index.js 中,但可以配置到另一個目錄
  • 為了方便,每個測試文件運行之前,Cypress 都會自動加載插件文件 cypress/plugins/index.js 

 

插件的應用場景  

  • 動態更改來自 cypress.json,cypress.env.json,CLI或系統環境變量的已解析配置和環境變量
  • 修改特定瀏覽器的啟動參數
  • 將消息直接從測試代碼傳遞到后端

后面再詳解插件在項目中的實際運用

 

support file 支持文件

簡介

  • 支持文件目錄是放置可重用配置項,如底層通用函數或全局默認配置 
  • 支持文件默認位於 cypress/support/index.js 中,但可以配置到另一個目錄
  • 為了方便,每個測試文件運行之前,Cypress 都會自動加載支持文件 cypress/support/index.js 

 

如何使用支持文件

只需要在 cypress/support/index.js 文件里添加 beforeEach() 函數即可,如下面例子

這將能實現每次測試運行前打印出所有的環境變量信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM