Как запустить тесты Nightwatch.js в Jenkins?

Я хотел бы реализовать CI/CD с тестами пользовательского интерфейса, которые я написал, чтобы автоматически запускать мой тест Nightwatch.js каждую ночь. Я попытался скопировать свои файлы в рабочую область в jenkins и запустить их. Я пытался использовать TFS в качестве системы контроля версий, чтобы посмотреть, сможем ли мы заставить ее работать таким образом. Проблема, с которой я постоянно сталкиваюсь (см. Приложение), заключается в том, что когда я запускаю локально, браузер Chrome открывается и отлично запускает тесты. Однако в Jenkins он говорит, что не может найти элемент. Я исследовал, как запустить хром без головы, но все равно получаю ту же ошибку, когда добавляю тег --headless в свой конфигурационный файл nightwatch.json. Итог: как я могу заставить тесты Nightwatch.js запускаться по ночному расписанию? (желательно в дженкинсе)

Пробовал запускать тесты из системы контроля версий tfs пробовал запускать тесты из локальных тестов, скопированных в рабочую область jenkins. пробовал запускать безголовые тесты (локально работает, Jenkins нет) https://developers.google.com/web/updates/2017/04/безголовый-хром

Вот мой файл nightwatch.json.

{
    "src_folders" : ["tests"],
    "output_folder" : "reports/XMLReports",
    "custom_commands_path" : "",
    "custom_assertions_path" : "",
    "page_objects_path" : "dealer",
    "globals_path" : "",
    "test_workers": false,
    "selenium": {
      "cli_args": {
        "webdriver.chrome.driver" : "node_modules/.bin/chromedriver.cmd",
        "webdriver.gecko.driver" : "node_modules/.bin/geckodriver.cmd",
        "webdriver.edge.driver" : "node_modules/.bin/edgedriver.cmd"
    },
    "log_path": "",
    "port": 4460,
    "server_path": "lib/drivers/selenium-server-standalone-3.141.59.jar",
    "start_process": true
  },

    "test_settings" : {
      "chrome" : {
        "launch_url" : "http://localhost",
        "selenium_port"  : 4460,
        "selenium_host"  : "127.0.0.1",
        "silent": true,
        "screenshots" : {
          "enabled" : false,
          "path" : "screenshots/Chrome/"
        },
        "desiredCapabilities": {
          "browserName": "chrome",
          "chromeOptions":{
                "args": [
                  "disable-web-security",
                  "ignore-certificate-errors",
                  "--test-type",
                  "--disable-gpu",
                  "--headless",
                  "--remote-debugging-port=9222"
                ]
            }          
        }
      },

      "edge" : {
        "desiredCapabilities": {
          "browserName": "MicrosoftEdge"
        }
      }
    }
  }

Я ожидаю, что мои тесты будут работать в jenkins нормально и дадут мне подробный отчет, если он прошел или не прошел в ui.Как запустить тесты Nightwatch.js в Jenkins?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
826
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, что .windowMaximize() вызывал зависание и сбой моих тестов в Jenkins.

как это сделать?

Jackson 23.04.2019 17:03

проверьте ссылку Примите это как ответ

Leo Liu-MSFT 24.04.2019 03:22

@Jackson, это была просто проблема .windowMaximize ()?

Dhruv Bhatnagar 24.01.2022 20:01

Другие вопросы по теме