Javascript 在Azure DevOps管道中运行时,角度/量角器E2E测试失败。局部通过

Javascript 在Azure DevOps管道中运行时,角度/量角器E2E测试失败。局部通过,javascript,angular,selenium,protractor,azure-devops,Javascript,Angular,Selenium,Protractor,Azure Devops,我正在尝试在我的angular应用程序上运行e2e测试。当我运行nge2e时,我的测试在本地通过,但不是在管道中通过。我将分享我的dragrator.conf、管道任务以及从下面失败的任务中获得的输出 更多背景: 我试图从一个空的angular应用程序运行e2e代码。这个 我正在尝试运行的测试通过导航到我的 网站,输入用户名/密码,然后检查 用户被重定向到我的网站 我正在从发布版运行此程序 包含e2e测试的回购协议作为 人工制品 我正在使用XPath查找页面上的元素 我省略了我的jasmine

我正在尝试在我的angular应用程序上运行e2e测试。当我运行
nge2e
时,我的测试在本地通过,但不是在管道中通过。我将分享我的dragrator.conf、管道任务以及从下面失败的任务中获得的输出

更多背景:

  • 我试图从一个空的angular应用程序运行e2e代码。这个 我正在尝试运行的测试通过导航到我的 网站,输入用户名/密码,然后检查 用户被重定向到我的网站
  • 我正在从发布版运行此程序 包含e2e测试的回购协议作为 人工制品
  • 我正在使用XPath查找页面上的元素
  • 我省略了我的jasmine代码,因为我认为它不相关,因为测试在本地通过。然而,如果我在这一点上错了,让我知道,我会发布它
量角器.conf.js

const { SpecReporter } = require('jasmine-spec-reporter');

process.env.CHROME_BIN = process.env.CHROME_BIN || require("puppeteer").executablePath();

exports.config = {
  allScriptsTimeout: 11000,
  specs: [
    './src/**/*.e2e-spec.ts'
  ],
  capabilities: {
    chromeOptions: {
      args: ["--headless", "--disable-gpu", "--window-size=1200,900"],
      binary: process.env.CHROME_BIN
    },
    'browserName': 'chrome'
  },
  directConnect: true,
  baseUrl: 'http://localhost:4200/',
  framework: 'jasmine',
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 120000,
    print: function() {}
  },
  onPrepare() {
    require('ts-node').register({
      project: require('path').join(__dirname, './tsconfig.e2e.json')
    });
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
  }
};
管道任务:

任务输出失败:

请帮助我在azure中通过这些测试

谢谢


编辑:我有那个“更新Webdriver”任务,因为我读到我应该在某个地方做它,它实际上不会改变结果,如果它在那里或不在那里

你是否尝试增加你的所有脚本时间

浏览器上运行的每个脚本的超时(以毫秒为单位)。这应该比应用程序在任务之间稳定所需的最长时间长


您是否尝试增加您的所有脚本刺激值

浏览器上运行的每个脚本的超时(以毫秒为单位)。这应该比应用程序在任务之间稳定所需的最长时间长


您可以共享您的测试文件吗?请检查chromedriver.exe(在您的日志中,您安装的
chromedriver 2.4
6)是否与chrome兼容。如果您未指定environment
CHROME\u BIN
,则使用由软件包
Puppeter
提供的CHROME,从该软件包中找到CHROME二进制文件并检查其版本。能否共享测试文件?请检查chromedriver.exe(在您的日志中,您安装的
chromedriver 2.4
6)是否与CHROME兼容。如果未指定environment
CHROME\u-BIN
,则使用软件包
Puppeter
提供的CHROME,从该软件包中查找CHROME二进制文件并检查其版本。