這是用於展示cypress.io端到端(E2E)測試的示例應用程序。該應用程序演示了大多數柏樹API命令的使用。此外,此示例應用程序配置為在各種CI平台中運行E2E測試。幾個工作流程證明了CI使用柏樹docker圖像,這些圖像為柏樹提供了方便,預配合的兼容環境。測試也對測試進行了嚴重評論。
要查看廚房水槽應用程序,並查看應用程序顯示的Cypress API命令,請訪問exampe.cypress.io。
有關我們的文檔的完整參考,請訪問docs.cypress.io。
對於示例付款應用程序,展示了cypress.io端到端(E2E)測試的現實用法,請訪問cypress-io/cypress-realworld-app-app存儲庫。
下表列出了來自各種CI提供商的實時工作流程。這些每個都獨立測試此示例存儲庫的內容。他們使用賽普拉斯雲(Cypress Cloud)進行運行並記錄其結果,並在柏樹雲下集中顯示4b7344
。每個CI提供商在其自己的網站上顯示其構建狀態:
CI提供商 | 工作流程 | 建立狀態 | Docker示例 |
---|---|---|---|
應用程式 | AppVeyor.yml | ||
Circleci | .circleci/config.yml | ✅ | |
柏樹 - io/github-action | 使用-Action.yml | ||
github動作 | 單 | ||
github動作 | 平行 |
您可以在柏樹雲上找到所有記錄的CI結果
該表顯示了CI工作流的其他示例。除GitHub Action工作流程外,這些不是上表中的實例示例,並且可能需要在使用前進行修改。 GitHub動作工作流程是實時的,它們在沒有記錄到賽普拉斯雲的情況下運行。
CI提供商 | 基本配置 | 完整的並行配置 | Docker示例 |
---|---|---|---|
AWS放大 | amplify.yml | ||
AWS CodeBuild | 基本/buildspec.yml | buildspec.yml | |
Azure管道 | 基本/azure-ci.yml | azure-ci.yml | |
好友 | 好友 | ✅ | |
buildkite | .buildkite/pipeline.yml | ||
Circleci | basic/.circleci/config.yml | ✅ | |
CloudBees代碼專業 | 基本/代碼pro | 代碼服務 | ✅ |
github動作 | Chrome.yml | ||
github動作 | Chrome-docker.yml | ✅ | |
GitLab | 基本/.gitlab-ci.yml | .gitlab-ci.yml | ✅ |
詹金斯 | 基本/Jenkinsfile | Jenkinsfile | ✅ |
信號量2.0 | basic/.semaphore.yml | .semaphore/semaphore.yml | |
特拉維斯CI | 基本/.travis.yml | .travis.yml |
柏樹文檔頁面CI提供商示例提供了更多示例,並提供了廣泛的指南,用於將柏樹與一些最受歡迎的CI提供商一起使用。
要在本地計算機上運行此存儲庫的測試,請首先確保您的計算機符合賽普拉斯系統的要求,包括根據文件.Node-version中指定的版本安裝node.js。
執行以下說明將克隆存儲庫,安裝依賴項並運行柏樹:
git clone https://github.com/cypress-io/cypress-example-kitchensink.git
cd cypress-example-kitchensink
npm ci # install dependencies
npm run local:run # run Cypress headlessly
local:run
是一個軟件包。JSON腳本,啟動本地網絡服務器,然後使用柏樹運行將柏樹無頭運行。如果您想交互方式運行柏樹測試,請運行以下命令,該命令使用打開的柏樹在頭模式下運行柏樹。您可以選擇單個測試進行運行。
npm run local:open
作為使用local:open
和local:run
腳本,您也可以在一個步驟中啟動服務器,然後在第二步中運行柏樹。
npm start # start server on port 8080
如果打開Web瀏覽器並導航到http://localhost:8080
,則可以檢查服務器正在運行。
然後在單獨的終端窗口中執行
npx cypress run # for headless mode
或者
npx cypress open # for headed interactive mode
腳本local:run
和local:open
使用NPM模塊的start-test
別名starter-server-and Test-lun。發射柏樹。
start
腳本使用NPM模塊發售網絡服務器,並在端口8080
上顯示廚房水槽應用程序。
如果您在本地安裝了Docker,例如使用Docker Desktop,則可以在Docker容器中與此存儲庫中的測試運行。使用Cypress Docker Images,這些圖像構建了所有運行柏樹的先決條件。它們可作為基礎,瀏覽器,包括Docker Hub和Amazon ECR(彈性容器註冊表)公共畫廊的選項。
如上所述,首先要克隆回購和安裝依賴項:
git clone https://github.com/cypress-io/cypress-example-kitchensink
cd cypress-example-kitchensink
npm ci
筆記
為簡單起見,下面的Docker示例使用存儲庫參考,例如帶有latest
版本標籤的cypress/base
。要選擇一個較早的版本,請用明確的標籤替換latest
,例如cypress/base:20.15.1
。建議生產明確的版本標籤。標籤選擇進一步說明了用法。
以下示例使用柏樹/基本圖像本身不包含瀏覽器。您將使用與柏樹捆綁在一起的電子瀏覽器。要運行Docker容器,請執行以下操作:
docker run -it --rm -v .:/e2e -w /e2e cypress/base:latest
當出現容器提示時,輸入:
npx cypress install # install Cypress binary
npm run test:ci # start server and run tests in Electron browser
exit
使用柏樹/瀏覽器圖像,您還可以選擇Chrome,Edge和Firefox瀏覽器。執行以下執行:
docker run -it --rm -v .:/e2e -w /e2e cypress/browsers:latest
當出現容器提示時,輸入:
npx cypress install # install Cypress binary
npm run test:ci # start server and run tests in Electron browser
npm run test:ci:chrome # start server and run tests in Chrome browser
npm run test:ci:edge # start server and run tests in Edge browser
npm run test:ci:firefox # start server and run tests in Firefox browser
exit
與柏樹/瀏覽器相比,柏樹/隨附的圖像添加了完整的柏樹安裝。執行以下操作以使用單行命令運行容器,並使用Chrome瀏覽器進行測試:
docker run -it --rm -v .:/e2e -w /e2e --entrypoint bash cypress/included:latest -c ' npm run test:ci:chrome ' # use for matching Cypress versions
使用Repo的軟件包中的Cypress版本替換上述命令中的latest
標籤。請注意,不匹配的版本會導致錯誤。
筆記
其他瀏覽器Chrome,Edge和Firefox僅安裝在linux/amd64
體系結構圖像cypress/browsers
以及cypress/included
。瀏覽器不可預裝為linux/arm64
體系結構圖像。所有圖像和體系結構都可以使用,該瀏覽器內置於柏樹。
如果您想在連續集成(CI)提供商中嘗試運行測試,那麼您需要首先提供存儲庫,以便您擁有自己的副本。請參閱github文檔,以正確設置remote upstream
的別名(此回購)和remote origin
(到您的叉子)。您還需要與您要測試的CI提供商有一個帳戶。
查看貢獻指南。
請參閱版本。