SAP 電商雲 Spartacus UI CI e2e-cypress.sh 指令碼檔案分析
(1) yarn install
(2) 進到 storefrontapp-e2e-cypress 目錄再次 yarn install
(3) yarn build:libs
指令碼命令:
cypress run --config-file cypress.ci.json --record --key $CYPRESS_KEY --tag "2011,b2c,all,parallel" --p
arallel --group B2C --ci-build-id $TRAVIS_BUILD_ID --spec "cypress/integration/!(vendor|b2b|ssr)/**/*.e2e
-spec.ts"
record option 代表視訊記錄,這個語法在官方文件 可以找到。
export 命令本身不需要使用 $ 符號,但是在指令碼檔案裡使用變數時,需要加上 $ 符號。
Bash export 命令幫助我們匯出環境變數,以便它們在所有子程序
、shell 和命令中可用。
此外,export 命令和其他相關命令的不同命令列選項提供了跨不同 shell 和 bash 指令碼定義、匯出和使用 bash 變數的各種方法。
關於 bash 裡特殊符號 $ 的用法,參考這個連結。
yarn e2e:run:ci"${SUITE}"
bash 裡圓括號的語法
這裡的 SUITE 是 script 裡自定義的變數。
SUITE 值可能為下列 e2e:run:ci 冒號後的值,比如 ssr,b2b 等等。
取決於使用者按照什麼樣的命令列引數傳遞 --suite
使用 --suite 或者 -s 引數格式均可,預設引數為 b2c:
最後先 yarn start,再 yarn e2e:run:ci
我們就看這個預設的 b2b script:
yarn --cwd ./projects/storefrontapp-e2e-cypress run cy:run:ci:b2b\
使用 --cwd 避免指令碼檔案裡出現不必要的 cd 操作符。參考這個操作符的官方文件。
cy:run:ci:b2b - 最後執行的如下指令碼:
--tag 用於最後在 dashboard 結果列表裡檢視。
--group 用於在一個測試裡將記錄後的結果放置於同一組內。
開始執行測試了:
一些測試結果:
B2B - Bulk Pricing
Mobile
Check bulk pricing table
(node:8855) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
✓ should render pricing table for products that contain bulk prices (5819ms)
✓ should checkout using the proper bulk price based on quantity (1604ms)
✓ should NOT render pricing table for products that DO NOT contain bulk prices (736ms)
✓ should verify lowering the quantity also lowers the discount (2262ms)
✓ should verify increasing the quantity also increases the discount (1904ms)
✓ should verify checking out a bulk priced item and a regular product (7819ms)
Desktop
Check bulk pricing table
✓ should render pricing table for products that contain bulk prices (963ms)
✓ should checkout using the proper bulk price based on quantity (1307ms)
✓ should NOT render pricing table for products that DO NOT contain bulk prices (756ms)
✓ should verify lowering the quantity also lowers the discount (2282ms)
✓ should verify increasing the quantity also increases the discount (1941ms)
✓ should verify checking out a bulk priced item and a regular product (9332ms)
在執行日誌的末尾,看到了 command exited with 0 的提示,說明執行成功。
更多Jerry的原創文章,盡在:"汪子熙":