本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Amplify 應用程式的 end-to-end Cypress 測試
您可以在 Amplify 應用程式的測試階段執行 end-to-end (E2E) 測試,以便在將程式碼推送至生產環境之前擷取迴歸。測試階段可在建置規格 中設定YAML。目前,您只能在建置期間執行 Cypress 測試架構。
Cypress 是以 JavaScript為基礎的測試架構,可讓您在瀏覽器上執行 E2E 測試。如需示範如何設定 E2E 測試的教學課程,請參閱使用 Amplify 進行完整堆疊 CI/CD 部署的部落格文章執行 end-to-end Cypress 測試
將 Cypress 測試新增至現有的 Amplify 應用程式
您可以在 Amplify 主控台中更新應用程式的建置設定,將 Cypress 測試新增至現有應用程式。建置規格YAML包含建置命令的集合,以及 Amplify 用來執行建置的相關設定。使用 test
步驟在建置時執行任何測試命令。對於 E2E 測試,Amplify Hosting 提供與 Cypress 的更深入整合,可讓您產生測試的 UI 報告。
下列清單說明測試設定及其使用方式。
- preTest
-
安裝執行 Cypress 測試所需的相依性。Amplify Hosting 使用 mochawesome
產生報告,以檢視您的測試結果,並在建置期間等待 設定 localhost 伺服器。 - test
-
執行 cypress 命令,以使用 mochawesome 執行測試。
- postTest
-
超棒的報告是從輸出 產生JSON。請注意,如果您使用的是 Yarn,您必須以靜音模式執行此命令,才能產生令人驚嘆的報告。對於 Yarn,您可以使用下列命令。
yarn run --silent mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json
- 成品>baseDirectory
執行測試的目錄。
- 成品>configFilePath
產生的測試報告資料。
- artifacts>files
產生的成品 (螢幕擷取畫面和影片) 可供下載。
下列建置規格amplify.yml
檔案中的範例摘錄示範如何將 Cypress 測試新增至應用程式。
test: phases: preTest: commands: - npm ci - npm install -g pm2 - npm install -g wait-on - npm install mocha mochawesome mochawesome-merge mochawesome-report-generator - pm2 start npm -- start - wait-on http://localhost:3000 test: commands: - 'npx cypress run --reporter mochawesome --reporter-options "reportDir=cypress/report/mochawesome-report,overwrite=false,html=false,json=true,timestamp=mmddyyyy_HHMMss"' postTest: commands: - npx mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json - pm2 kill artifacts: baseDirectory: cypress configFilePath: '**/mochawesome.json' files: - '**/*.png' - '**/*.mp4'
關閉 Amplify 應用程式或分支的測試
將測試組態新增至amplify.yml
建置設定後,每個建置、每個分支都會執行 test
步驟。如果您想要全域停用執行中的測試,或只對特定分支執行測試,您可以使用 USER_DISABLE_TESTS 環境變數,而不修改建置設定。
若要全域停用所有分支的測試,請新增 USER_DISABLE_TESTS 所有分支的值為 true
的環境變數。下列螢幕擷取畫面顯示 Amplify 主控台中的環境變數區段,並停用所有分支的測試。

若要停用特定分支的測試,請新增 USER_DISABLE_TESTS false
針對所有分支的值為 的環境變數,然後為要停用的每個分支新增覆寫,值為 true
。在下列螢幕擷取畫面中,主要分支上的測試會停用,每隔一個分支都會啟用測試。

使用此變數停用測試會導致在建置期間完全略過測試步驟。若要重新啟用測試,請將此值設定為 false
,或刪除環境變數。