Время ожидания теста транспортира / жасмина на Дженкинсе - PullRequest
1 голос
/ 27 марта 2019

У меня и моей команды есть набор из 122 испытаний транспортира.Жасминовые тесты просты

  1. войти в систему
  2. перейти на страницу
  3. заполнить форму
  4. подтвердить результаты

Тесты написаны с использованием транспортира 5.4, jasmine 3.3 и скрипта типа 3.1 и выполнены с использованием nodeJs 10.5.3, npm 6.9.0.Наши тесты нацелены на удаленный сервер разработки.

, выполнив следующие команды как на моей локальной, так и на удаленной машине, тесты пройдены.

  • open cmd
  • git clone ...*Тесты 1021 *
  • cd repo-name
  • npm install
  • npm run e2e:dev

выполняются с использованием браузера без хрома.вот конфигурация 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, используя учетную запись домена, которая имеет права локального администратора.До 12 марта работа успешно выполнялась каждую неделю в 10 часов вечера.начиная с 12 марта, работа не выполняется, потому что 30-40 тестов выбрасывают тайм-ауты жасмина.31m Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL Мы попытались увеличить время ожидания по умолчанию, но это не решило проблему.

Мы работаем с Jenkins 2.169 на Java 1.8.Я исключил RAM, AV и файлы конфигурации проекта.Похоже, что пакетные команды окон Jenkins 2.169 являются виновником, и я не уверен, как решить эту проблему.

Мы также попытались запустить команды, используя оболочку git bash из Jenkins, и мы получили те же результаты.

Кто-нибудь еще сталкивался с подобной проблемой, и вам удалось ее решить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...