SAPUI5 KARMA CI GitLab

问题描述

我正在尝试使用GitLab中的CI / CD为SAPUI5应用程序设置CI管道。

我决定使用以下工具:

  • UI5工具
  • UIVeri5
  • 业力

到目前为止,使用UI5工具进行的构建已成功完成。 我很可能在测试部分遇到了问题。

请查看以下文件

  1. .gitlab-ci.yml

    图片:geertjanklaps / node-cf-cli:latest 快取: 路径: -node_modules /

    阶段:

    • 测试
    • 构建

    ESLint: 阶段:测试 before_script: -npm安装 -npm install --global @ ui5 / uiveri5 -npm安装-g karma-cli -npm install --save-dev业力业力-ui5 -npm install --save-dev karma-chrome-launcher 脚本: -因果关系启动--singleRun = true

    构建MTA文件: 阶段:建立 before_script: -npm install --global @ ui5 / cli 脚本: -ui5构建-全部 只要: -大师

  2. karma.conf.js

    module.exports = function(config){ config.set({ 框架:[“ ui5”], ui5:{ 模式:“脚本”, 测试:[ “ webapp / test /” ] }

    browsers: ['MyHeadlessChrome'],singleRun: true,customLaunchers: {
      MyHeadlessChrome: {
        base: 'ChromeHeadless',flags: [
          '--disable-translate','--disable-extensions','--remote-debugging-port=9223','--no-sandBox']
      },},

    }); };

要进行更深入的分析,请查看我的仓库here

出现问题了

作业停止并显示以下信息:

参考错误:未定义树液 在node_modules / karma-ui5 / lib / client / autorun.js:16:2 在node_modules / karma-ui5 / lib / client / autorun.js:22:3

请查看完整的作业日志以获取更多信息:

[0KRunning with gitlab-runner 13.5.0-rc2 (71c90c86)
[0;m[0K  on docker-auto-scale fa6cab46
[0;msection_start:1603897730:resolve_secrets
[0K[0K[36;1mResolving secrets[0;m
[0;msection_end:1603897730:resolve_secrets
[0Ksection_start:1603897730:prepare_executor
[0K[0K[36;1mPreparing the "docker+machine" executor[0;m
[0;m[0KUsing Docker executor with image geertjanklaps/node-cf-cli:latest ...
[0;m[0KPulling docker image geertjanklaps/node-cf-cli:latest ...
[0;m[0KUsing docker image sha256:4d8a2c0623c41c1b33b2d9505d88a0712615ca0dc12b1deb05ea5f9ebfb43757 for geertjanklaps/node-cf-cli:latest with digest geertjanklaps/node-cf-cli@sha256:6bc976fbfae34d9d982b39331bfd842518e28da02cfacf76a2c83bab67ffb31b ...
[0;msection_end:1603897771:prepare_executor
[0Ksection_start:1603897771:prepare_script
[0K[0K[36;1mPreparing environment[0;m
[0;mRunning on runner-fa6cab46-project-22032692-concurrent-0 via runner-fa6cab46-srm-1603897681-955e55b1...
section_end:1603897774:prepare_script
[0Ksection_start:1603897774:get_sources
[0K[0K[36;1mGetting source from Git repository[0;m
[0;m[32;1m$ eval "$CI_PRE_CLONE_SCRIPT"[0;m
[32;1mFetching changes with git depth set to 50...[0;m
Initialized empty Git repository in /builds/MarvinsRoom/testproject-1/.git/
[32;1mCreated fresh repository.[0;m
[32;1mChecking out 2cde8a5a as master...[0;m

[32;1mSkipping Git submodules setup[0;m
section_end:1603897776:get_sources
[0Ksection_start:1603897776:restore_cache
[0K[0K[36;1mRestoring cache[0;m
[0;m[32;1mChecking cache for default...[0;m
Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/22032692/default[0;m 
[32;1mSuccessfully extracted cache[0;m
section_end:1603897777:restore_cache
[0Ksection_start:1603897777:step_script
[0K[0K[36;1mExecuting "step_script" stage of the job script[0;m
[0;m[32;1m$ npm install[0;m
npm WARN deprecated http2@3.3.7: Use the built-in module in node 9.0.0 or newer,instead
npm WARN deprecated istanbul@0.4.5: This module is no longer maintained,try this instead:
npm WARN deprecated   npm i nyc
npm WARN deprecated Visit https://istanbul.js.org/integrations for other alternatives.
npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please,upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and Could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated circular-json@0.5.9: Circularjson is in maintenance only,flatted is its successor.
npm WARN deprecated nodemailer@2.7.2: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated samsam@1.3.0: This package has been deprecated in favour of @sinonjs/samsam
npm WARN deprecated uws@9.14.0: New code is available at github.com/uNetworking/uWebSockets.js
npm WARN deprecated request@2.75.0: request has been deprecated,see https://github.com/request/request/issues/3142
npm WARN deprecated mailcomposer@4.0.1: This project is unmaintained
npm WARN deprecated socks@1.1.9: If using 2.x branch,please upgrade to at least 2.1.6 to avoid a serIoUs bug with socket data flow and an import issue introduced in 2.1.0
npm WARN deprecated har-validator@2.0.6: this library is no longer supported
npm WARN deprecated hawk@3.1.3: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated buildmail@4.0.1: This project is unmaintained
npm WARN deprecated hoek@2.16.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features,bug fixes,and security patches. If you are unable to upgrade at this time,paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated sntp@1.0.9: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated boom@2.10.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features,paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated cryptiles@2.0.5: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features,paid support is available for older versions (hapi.im/commercial).

> uws@9.14.0 install /builds/MarvinsRoom/testproject-1/node_modules/uws
> node-gyp rebuild > build_log.txt 2>&1 || exit 0


> core-js@2.6.11 postinstall /builds/MarvinsRoom/testproject-1/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"


> sinon@4.4.8 postinstall /builds/MarvinsRoom/testproject-1/node_modules/sinon
> node scripts/support-sinon.js

Have some â¤ï¸  for Sinon? You can support the project via Open Collective:
 > https://opencollective.com/sinon/donate

npm WARN notsup Unsupported engine for http2@3.3.7: wanted: {"node":">=0.12.0 <9.0.0"} (current: {"node":"12.16.1","npm":"6.14.1"})
npm WARN notsup Not compatible with your version of node/npm: http2@3.3.7
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 944 packages from 1379 contributors and audited 940 packages in 42.322s

2 packages are looking for funding
  run `npm fund` for details

found 116 vulnerabilities (52 low,20 moderate,44 high)
  run `npm audit fix` to fix them,or `npm audit` for details
[32;1m$ npm install --global @ui5/uiveri5[0;m
npm WARN deprecated request@2.88.2: request has been deprecated,see https://github.com/request/request/issues/3142
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
/usr/bin/uiveri5 -> /usr/lib/node_modules/@ui5/uiveri5/bin/uiveri5
+ @ui5/uiveri5@1.45.1
added 182 packages from 231 contributors in 9.259s
[32;1m$ npm install -g karma-cli[0;m
/usr/bin/karma -> /usr/lib/node_modules/karma-cli/bin/karma
+ karma-cli@2.0.0
added 6 packages from 21 contributors in 0.74s
[32;1m$ npm install --save-dev karma karma-ui5[0;m
npm WARN deprecated request@2.88.2: request has been deprecated,see https://github.com/request/request/issues/3142
npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please,upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and Could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated nodemailer@2.7.2: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated circular-json@0.5.9: Circularjson is in maintenance only,flatted is its successor.
npm WARN deprecated request@2.75.0: request has been deprecated,see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@2.0.6: this library is no longer supported
npm WARN deprecated hawk@3.1.3: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated hoek@2.16.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features,paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated boom@2.10.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features,paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated sntp@1.0.9: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated cryptiles@2.0.5: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features,paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated socks@1.1.9: If using 2.x branch,please upgrade to at least 2.1.6 to avoid a serIoUs bug with socket data flow and an import issue introduced in 2.1.0
npm WARN deprecated mailcomposer@4.0.1: This project is unmaintained
npm WARN deprecated buildmail@4.0.1: This project is unmaintained
npm WARN deprecated uws@9.14.0: New code is available at github.com/uNetworking/uWebSockets.js
npm WARN rm not removing /builds/MarvinsRoom/testproject-1/node_modules/.bin/uuid as it wasn't installed by /builds/MarvinsRoom/testproject-1/node_modules/node-uuid
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/@sap/grunt-sapui5-bestpractice-test/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"x64"})

+ karma@5.2.3
+ karma-ui5@2.3.1
added 445 packages from 660 contributors,removed 14 packages,updated 38 packages,moved 27 packages and audited 1376 packages in 32.8s

32 packages are looking for funding
  run `npm fund` for details

found 127 vulnerabilities (64 low,43 high)
  run `npm audit fix` to fix them,or `npm audit` for details
[32;1m$ npm install --save-dev karma-chrome-launcher[0;m
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/@sap/grunt-sapui5-bestpractice-test/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"x64"})

+ karma-chrome-launcher@3.1.0
added 2 packages from 29 contributors,updated 1 package and audited 1378 packages in 12.365s

34 packages are looking for funding
  run `npm fund` for details

found 127 vulnerabilities (64 low,or `npm audit` for details
[32;1m$ karma start --singleRun=true[0;m
[32m28 10 2020 15:11:21.695:INFO [karma-server]: [39mKarma v5.2.3 server started at http://localhost:9876/
[32m28 10 2020 15:11:21.698:INFO [launcher]: [39mLaunching browsers MyHeadlessChrome with concurrency unlimited
[32m28 10 2020 15:11:21.702:INFO [launcher]: [39mStarting browser ChromeHeadless
[32m28 10 2020 15:11:22.071:INFO [Chromium 80.0.3987.87 (Ubuntu 0.0.0)]: [39mConnected on socket PNW35HCgiwnOH-7cAAAA with id 80702627
[33m28 10 2020 15:11:22.137:WARN [web-server]: [39m404: /resources/sap-ui-core.js
[31mChromium 80.0.3987.87 (Ubuntu 0.0.0) ERROR[39m
  Uncaught ReferenceError: sap is not defined
  at node_modules/karma-ui5/lib/client/autorun.js:16:2
  
  ReferenceError: sap is not defined
      at node_modules/karma-ui5/lib/client/autorun.js:16:2
      at node_modules/karma-ui5/lib/client/autorun.js:22:3


section_end:1603897883:step_script
[0Ksection_start:1603897883:cleanup_file_variables
[0K[0K[36;1mCleaning up file based variables[0;m
[0;msection_end:1603897885:cleanup_file_variables
[0K[31;1mERROR: Job Failed: exit code 1
[0;m

非常感谢您的帮助!

BR 马文

解决方法

您是否配置了karma-ci.conf.js 根据{{​​3}}吗?

它应该像这样:

module.exports = function(config) {
  config.set({
    frameworks: ["ui5","qunit","sinon"],ui5: {
      url: "https://openui5.hana.ondemand.com",mode: "script",config: {
        async: true,resourceRoots: {
          "sap.ui.demo.todo": "./base/webapp"
        }
      },tests: [
        "sap/ui/demo/todo/test/unit/AllTests"
      ]
    },browsers: ["Chrome"]
  });
};