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 [email protected]: Use the built-in module in node 9.0.0 or newer,instead
npm WARN deprecated [email protected]: 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 [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: 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 [email protected]: fsevents 1 will break on node v14+ and Could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated circula[email protected]: Circularjson is in maintenance only,flatted is its successor.
npm WARN deprecated [email protected]: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated [email protected]: This package has been deprecated in favour of @sinonjs/samsam
npm WARN deprecated [email protected]: New code is available at github.com/uNetworking/uWebSockets.js
npm WARN deprecated [email protected]: request has been deprecated,see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: This project is unmaintained
npm WARN deprecated [email protected]: 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 [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: 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 [email protected]: Use uuid module instead
npm WARN deprecated [email protected]: This project is unmaintained
npm WARN deprecated [email protected]: 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 [email protected]: 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 [email protected]: 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 [email protected]: 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).

> [email protected] install /builds/MarvinsRoom/testproject-1/node_modules/uws
> node-gyp rebuild > build_log.txt 2>&1 || exit 0


> [email protected] postinstall /builds/MarvinsRoom/testproject-1/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"


> [email protected] 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 [email protected]: 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: [email protected]
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 [email protected]: 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 [email protected]: request has been deprecated,see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: this library is no longer supported
/usr/bin/uiveri5 -> /usr/lib/node_modules/@ui5/uiveri5/bin/uiveri5
+ @ui5/[email protected]
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
+ [email protected]
added 6 packages from 21 contributors in 0.74s
[32;1m$ npm install --save-dev karma karma-ui5[0;m
npm WARN deprecated [email protected]: request has been deprecated,see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: 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 [email protected]: fsevents 1 will break on node v14+ and Could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated circula[email protected]: Circularjson is in maintenance only,flatted is its successor.
npm WARN deprecated [email protected]: request has been deprecated,see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: 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 [email protected]: Use uuid module instead
npm WARN deprecated [email protected]: 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 [email protected]: 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 [email protected]: 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 [email protected]: 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 [email protected]: 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 [email protected]: This project is unmaintained
npm WARN deprecated [email protected]: This project is unmaintained
npm WARN deprecated [email protected]: 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 [email protected]: 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 [email protected]: wanted {"os":"darwin","arch":"x64"})

+ [email protected]
+ [email protected]
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: [email protected] (node_modules/@sap/grunt-sapui5-bestpractice-test/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"x64"})

+ [email protected]
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"]
  });
};