SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

(1) yarn install
(2) 进到 storefrontapp-e2e-cypress 目录再次 yarn install
(3) yarn build:libs

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

脚本命令:

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 代表视频记录,这个语法在官方文档 可以找到。

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

export 命令本身不需要使用 $ 符号,但是在脚本文件里使用变量时,需要加上 $ 符号。

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

Bash export 命令帮助我们导出环境变量,以便它们在所有子进程、shell 和命令中可用。

此外,export 命令和其他相关命令的不同命令行选项提供了跨不同 shell 和 bash 脚本定义、导出和使用 bash 变量的各种方法。

关于 bash 里特殊符号 $ 的用法,参考这个链接

yarn e2e:run:ci"${SUITE}"

bash 里圆括号的语法

这里的 SUITE 是 script 里自定义的变量。

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

SUITE 值可能为下列 e2e:run:ci 冒号后的值,比如 ssr,b2b 等等。

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

取决于使用者按照什么样的命令行参数传递 --suite

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

使用 --suite 或者 -s 参数格式均可,默认参数为 b2c:

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

最后先 yarn start,再 yarn e2e:run:ci

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

我们就看这个默认的 b2b script:

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

yarn --cwd ./projects/storefrontapp-e2e-cypress run cy:run:ci:b2b\

使用 --cwd 避免脚本文件里出现不必要的 cd 操作符。参考这个操作符的官方文档

cy:run:ci:b2b - 最后执行的如下脚本:

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

--tag 用于最后在 dashboard 结果列表里查看。

--group 用于在一个测试里将记录后的结果放置于同一组内。

开始执行测试了:

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

一些测试结果:

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 的提示,说明执行成功。

SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

更多Jerry的原创文章,尽在:"汪子熙":
SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

上一篇:java中的wait和notify方法


下一篇:SpringBoot报错[restartedMain] ERROR org.springframework.boot.SpringApplication - Application run faile