1. 程式人生 > 實用技巧 >Cypress系列(44)- 命令列執行 Cypress

Cypress系列(44)- 命令列執行 Cypress

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

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

前言

前面也介紹過 Cypress 命令列,先來看看它的語法格式

cypress <command> [options]
  • command:必選引數,可以是:open、run、install、verify、cache、help、version
  • options:可選引數,不同 command 有不同的 options

cypress open 簡介

簡介

在互動模式下開啟 Cypress 測試執行器(Test Runner)

在測試用例的執行過程中,測試用例的每一條命令,每一個操作都將顯式地顯示在測試執行器中

最簡單的命令

進入專案根目錄下

yarn run cypress open

通過 package.json 指定 scripts

"cypress:open": "cypress open"

yarn 執行

yarn cypress:open

npm 執行

npm run cypress:open

cypress open 詳解

前言

  • cypress open 執行時支援指定多個引數,指定的引數將自動應用於你通過測試執行器開啟的專案
  • 這些引數講應用於每一次測試執行,直到關閉測試執行器為止
  • 指定的引數將會覆蓋配置檔案 cypress.json 中的相同引數

可選引數列表

--browser

預設情況下,Cypress 會自動查詢你係統中可使用的瀏覽器,但是目前只有 Chrome 家族的瀏覽器才支援

cypress open --browser /usr/bin/chromium

--config

cypress open --config pageLoadTimeout=100000,watchForFileChanges=false

--config-file

預設情況下,所有的配置項都定義在 cypress.json 檔案中

cypress open --config-file tests/cypress-config.json

--env

# 單個環境變數
cypress open --env host=api.dev.local

# 多個環境變數
cypress open --env host=api.dev.local,port=4222

# 值為 json 字串
cypress open --env flags='{"feature-a":true,"feature-b":false}'

--global

允許在多個巢狀專案中共享同一個安裝好的 Cypress 版本

cypress open --global

--port

cypress open --port 8080

--project

用來指定待執行的專案,如果你的專案包含多個子專案,可以用此引數來執行指定的子專案(包括載入對應專案的配置)

cypress open --project ./some/nested/folder

Cypress run 詳解

作用

預設情況下,Cypress 會將 electron 作為無頭瀏覽器執行完所有的測試用例

可選引數列表

--browser

只要系統上可以檢測到,browser 引數可以被設定為 chrome ,canary,chromium,electron,Cypress 會試圖自動找到已經裝好的瀏覽器

cypress run --browser chrome

--config、--config-file、--env、--port、--help、--project

和上面 cypress open 用法一致

--spec

  • 指定執行哪些測試資料夾/檔案
  • 如果不指定測試資料夾,Cypress 將為你自動執行所有存在 Integration 資料夾下的測試用例

栗子

執行某個單獨的測試檔案而不是所有的測試用例

cypress run --spec "cypress/integration/examples/actions.spec.js"

執行*號匹配到的檔案目錄(注意:推薦使用雙星號**)

cypress run --spec "cypress/integration/login/**/*"

執行指定多個測試檔案

cypress run --spec "cypress/integration/examples/actions.spec.js,cypress/integration/examples/files.spec.js"

--record --key

在測試執行時錄製視訊

cypress run --record --key 

如果在 cypress.json 中設定了環境變數 CYPRESS_RECORD_KEY,你可以忽略 --key 引數。

--ci-build-id

用於分組執行或者並行執行,它通過指定一個唯一的識別符號來實現,必須配合引數--group--parallel才能使用

cypress run --ci-build-id BUILD_NUMBER

通常這個識別符號被設定為持續整合環境的環境變數

--group

在一次執行中,把符合條件的測試用例分組展示

cypress run --group admin-tests --spec 'cypress/integration/admin/**/*'

--parallel

在多臺機器上並行執行測試檔案(後面文章再展開詳解)

cypress run --record --parallel --group e2e-staging-specs

結合 --group 使用

--headed

cypress run --headed chrome

預設是無頭模式,加上就是使用 chrome 瀏覽器執行

--no-exit

cypress run --headed --no-exit

結合 --headed 來指定測試執行時顯示及在執行後檢視命令日誌

--reporter、--reporter-options

  • 用來指定 Mocha 的 reporter
  • 在測試報告文章中有詳細講解過,https://www.cnblogs.com/poloyy/p/13030898.html

cypress verify 詳解

作用

驗證 Cypress 安裝正確並可用

實際

C:\Users\user\Desktop\py\MyCypress>yarn run cypress verify
yarn run v1.22.4
$ C:\Users\user\Desktop\py\MyCypress\node_modules\.bin\cypress verify

  √  Verified Cypress! C:\Users\user\AppData\Local\Cypress\Cache\5.1.0\Cypress
Done in 3.99s.

cypress verison 詳解

檢視版本資訊

C:\Users\user\Desktop\py\MyCypress>yarn run cypress version
yarn run v1.22.4
$ C:\Users\user\Desktop\py\MyCypress\node_modules\.bin\cypress version
Cypress package version: 5.1.0
Cypress binary version: 5.1.0
Done in 0.69s.