簡體   English   中英

在 Azure DevOps 管道中運行時,Angular/Protractor E2E 測試失敗。 本地通過

[英]Angular/ Protractor E2E Test fails when run in Azure DevOps Pipeline. Passes locally

我正在嘗試在我的角度應用程序上運行 e2e 測試。 當我運行ng e2e但不在我的管道中時,我的測試在本地通過。 我將分享我的 protractor.conf、管道任務和我從下面失敗的任務中獲得的輸出。

更多背景:

  • 我正在嘗試從一個空的角度應用程序運行 e2e 代碼。 我嘗試運行的測試只是通過導航到我的網站登錄到 AD,輸入用戶名/密碼,然后檢查用戶是否被重定向到我的網站。
  • 我正在從一個發布管道運行它,其中包含 e2e 測試的回購被添加為一個工件。
  • 我正在使用 xpaths 在頁面上查找元素
  • 我省略了我的茉莉花代碼,因為我認為它不相關,因為測試在本地通過。 但是,如果我在這一點上錯了,請告訴我,我會發布。

量角器.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 } }));
  }
};

流水線任務:
在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

失敗的任務輸出: 在此處輸入圖像描述

請幫助我讓這些測試順利通過

謝謝!

編輯:我有那個“更新 Webdriver”任務,因為我讀到我應該在某個地方做它,它實際上並沒有改變結果,無論它是否存在

您是否嘗試過增加allScriptsTimeout

在瀏覽器上運行的每個腳本的超時時間(以毫秒為單位)。 這應該比您的應用程序在任務之間穩定所需的最長時間要長。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM