gpt4 book ai didi

node.js - 使用 Jenkins 运行 Protractor 测试抛出 "Test ` title` 应该是 "string"但给出的是 "function"而不是 .'"

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:47 26 4
gpt4 key购买 nike

所以这有点让人头疼。

如果我从 Jenkins 作业运行 Protractor e2e 测试,它会失败:

[10:23:53] I/local - Starting selenium standalone server...
[10:23:53] I/launcher - Running 1 instances of WebDriver
[10:23:54] I/local - Selenium standalone server started at http://10.0.0.5:43412/wd/hub
[10:23:56] E/launcher - Error: Error: Test `title` should be a "string" but "function" was given instead.
at new Test (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/test.js:24:11)
at context.it.context.specify (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/interfaces/bdd.js:84:18)
at /var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/protractor/node_modules/selenium-webdriver/testing/index.js:95:14
at context.xit.context.xspecify.context.it.skip (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/interfaces/bdd.js:103:15)
at Function.skip (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/protractor/node_modules/selenium-webdriver/testing/index.js:98:14)
at Suite.<anonymous> (/var/jenkins/workspace/vw3-predevelop-linux/src/Ui/dev/test/endToEnd/presetInteractions.scenario.js:87:8)
at Object.create (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/interfaces/common.js:114:19)
at context.describe.context.context (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/interfaces/bdd.js:42:27)
at Object.<anonymous> (/var/jenkins/workspace/develop-linux/src/Ui/dev/test/endToEnd/presetInteractions.scenario.js:8:1)
at Module._compile (module.js:425:26)
[10:23:56] E/launcher - Process exited with error code 100

但是,如果我作为 Jenkins 用户使用相同版本的 Node (5.0.0) 和 npm (3.3.6) 以及相同的命令通过 ssh 连接到机器,测试运行得很好。这是它加入 Mocha 的地方:https://github.com/mochajs/mocha/blob/master/lib/test.js#L24但我无法弄清楚为什么当 Jenkins 运行测试时它会是“不是字符串”,但当我 ssh 进入时它会很好。我还检查了我们的 presetInteractions.scenario.js 文件但是它与我们的任何其他 Protractor 文件没有什么不同,而且第 8 行肯定没有什么奇怪的......

var Utils = require('./utils');
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);

var expect = chai.expect;

describe('Preset interaction features', function() {
before(function(done) {
...

最佳答案

所以,当然是版本不匹配了。我们检查了 NPM、Node 和 Protractor 的版本,但使用的 Mocha 版本确实不同(2.4.5 与 3.0.2)。回滚到 2.4.5 可消除此问题。

关于node.js - 使用 Jenkins 运行 Protractor 测试抛出 "Test ` title` 应该是 "string"但给出的是 "function"而不是 .'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38876476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com