Shell 詹金斯的量角器/茉莉花测试超时

Shell 詹金斯的量角器/茉莉花测试超时,shell,jenkins,cmd,jasmine,protractor,Shell,Jenkins,Cmd,Jasmine,Protractor,我的团队和我有一套122个量角器测试。茉莉花测试是直接的 登录 导航到第页 填表 断言结果 测试使用量角器5.4、jasmine 3.3和类型脚本3.1编写,并使用nodeJs 10.5.3、npm 6.9.0执行。 我们的测试以远程开发服务器为目标 在本地和远程计算机上运行以下命令,测试通过 打开命令 git克隆… cd回购名称 npm安装 npm运行e2e:dev 测试使用无头Chrome浏览器运行。这是e2e配置 exports.config = { specs: [ '.

我的团队和我有一套122个量角器测试。茉莉花测试是直接的

  • 登录
  • 导航到第页
  • 填表
  • 断言结果
  • 测试使用量角器5.4、jasmine 3.3和类型脚本3.1编写,并使用nodeJs 10.5.3、npm 6.9.0执行。 我们的测试以远程开发服务器为目标

    在本地和远程计算机上运行以下命令,测试通过

    • 打开命令
    • git克隆…
    • cd回购名称
    • npm安装
    • npm运行e2e:dev
    测试使用无头Chrome浏览器运行。这是e2e配置

    exports.config = {
      specs: [
        './src/**/*.e2e-spec.ts'
      ],
      capabilities: {
        'browserName': 'chrome',
        chromeOptions: {
          args: [
            'headless',
            'disable-gpu',
            'window-size=1024,1536',
            'disable-browser-side-navigation',
            'disable-web-security'
          ],
          useAutomationExtension: false,
          prefs: {
            'download': {
              'prompt_for_download': false,
              'directory_upgrade': true,
              'default_directory': path.resolve("./target/downloads")
              }
            }
          }      
      },
      directConnect: true,
      baseUrl: '[internal server url]',
      framework: 'jasmine',
      jasmineNodeOpts: {
        showColors: true
      },
      onPrepare() {
        rmDir(path.resolve("./target/downloads"));
        require('ts-node').register({
          project: require('path').join(__dirname, './tsconfig.e2e.json')
        });
        var environment = jasmine.getEnv();
        environment.addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
        environment.addReporter(new jasmineReporters.JUnitXmlReporter({
            savePath: 'target/junitreporter',
            consolidateAll: true,
            captureStdout: true
          })
        );
      }
    };
    
    Jenkins使用具有本地管理员权限的域帐户作为windows服务运行。在3月12日之前,作业每周晚上10点成功运行。从3月12日开始,作业失败,因为30-40次测试导致jasmine超时。
    31m错误:超时-在jasmine指定的超时内未调用异步回调。默认\u Timeout\u INTERVAL
    我们尝试增加默认超时,但这并没有解决问题

    我们正在Java1.8上运行Jenkins 2.169。我已经排除了RAM、AV和项目配置文件。看起来Jenkins 2.169 windows批处理命令是罪魁祸首,我不知道如何解决这个问题

    我们还尝试使用Jenkins提供的git bash shell运行这些命令,得到了相同的结果


    是否有其他人遇到类似问题,您是否能够解决该问题?

    本地运行失败的测试是否通过?。而且,每天都有相同的测试失败吗?是的,失败的测试在本地通过,并且当我登录到远程服务器并使用Jenkins运行的相同帐户运行测试时。大多数相同的测试始终失败。间歇性故障少于10起。测试中的步骤越多,失败的可能性就越大。因为测试持续了几天,而现在脚本由于不一致而失败,所以失败可能是因为最近更新了jenkins、节点库和远程计算机中的chrome版本。你能确认几天前的版本是否相同,并且没有更新吗?我们会及时更新jenkins和插件。我知道至少有一个jenkins更新和十几个插件更新。在它运行的3年中,这是第一次更新破坏了一个构建。当您在本地运行它时,失败的测试是否通过了?。而且,每天都有相同的测试失败吗?是的,失败的测试在本地通过,并且当我登录到远程服务器并使用Jenkins运行的相同帐户运行测试时。大多数相同的测试始终失败。间歇性故障少于10起。测试中的步骤越多,失败的可能性就越大。因为测试持续了几天,而现在脚本由于不一致而失败,所以失败可能是因为最近更新了jenkins、节点库和远程计算机中的chrome版本。你能确认几天前的版本是否相同,并且没有更新吗?我们会及时更新jenkins和插件。我知道至少有一个jenkins更新和十几个插件更新。在它运行的3年中,这是第一次更新破坏了一个构建。