Тест Angular / Protractor E2E завершается с ошибкой при запуске в конвейере Azure DevOps. Проходит локально

#javascript #angular #selenium #protractor #azure-devops

#javascript #angular #selenium #транспортир #azure-devops

Вопрос:

Я пытаюсь запустить тесты e2e в своем приложении angular. Мои тесты проходят локально при запуске ng e2e , но не в моем конвейере. Я собираюсь поделиться своим protractor.conf, задачами конвейера и результатами, которые я получаю от задачи, которая завершается с ошибкой, ниже.

Еще немного предыстории:

  • Я пытаюсь запустить код e2e из пустого приложения angular. Тест, который я пытаюсь запустить, просто входит в AD, переходя на мой веб-сайт, вводя имя пользователя / пароль и затем проверяя, перенаправлен ли пользователь на мой веб-сайт.
  • Я запускаю это из конвейера выпуска, где репозиторий, содержащий тесты e2e, добавляется как артефакт.
  • Я использую xpaths для поиска элементов на странице
  • Я опустил свой код jasmine, потому что не думаю, что это актуально, поскольку тесты проходят локально. Однако, если я ошибаюсь в этом вопросе, дайте мне знать, и я опубликую его.

protractor.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», потому что я прочитал, что я должен это где-то сделать, на самом деле это не меняет результат, если он есть или нет

Комментарии:

1. не могли бы вы поделиться своим тестовым файлом?

2. Пожалуйста, проверьте chromedriver.exe (в вашем журнале вы установили chromedriver 2.4 6) совместим с Chrome. Если вы не указали среду CHROME_BIN , вы используете chrome, поставляемый пакетом puppeteer , найдите двоичный файл Chrome из этого пакета и проверьте его версию.

Ответ №1:

Вы пытались увеличить свой ALLSCRIPTSSTIMEOUT?

Время ожидания в миллисекундах для каждого сценария, запускаемого в браузере. Это должно быть больше максимального времени, необходимого вашему приложению для стабилизации между задачами.