Рубрики
Uncategorized

Создание автоматического тестирования с GOCD

CI/CD позволяет разработчикам, инженерам и DevOps команды создавать быстрый и эффективный процесс … Tagged с GOCD, CICD, Selenium.

CI/CD позволяет разработчикам, инженерам и DevOps команды создавать быстрый и эффективный процесс упаковки продукта на рынок, что позволяет им оставаться впереди конкуренции. Когда Тестирование автоматизации селена Связается с силой с эффективным инструментом CI/CD, он творит чудеса для доставки продукта. GOCD является одним из таких инструментов непрерывной интеграции с открытым исходным кодом (CI) и непрерывной доставки (CD), разработанного ThindWorks, который поддерживает жизненный цикл разработки программного обеспечения, обеспечивая автоматизацию для всего процесса. Прямо от развития -. Тест -> Развертывание, GOCD гарантирует, что ваши циклы доставки будут вовремя, надежны и эффективны.

В порядке. Я знаю, что вы думаете!

У нас есть Дженкинс для CI & CD! Почему новый инструмент?

В этом учебном пособии GOCD мы рассмотрим всю информацию, которая вам понадобится для создания трубопровода GOCD и в сочетании с основными понятиями. Вы также узнаете, как провести тестирование автоматизации, используя Selenium в Gocd Pipeline через Онлайн селен сетка Анкет

Почему GOCD?

Дженкинс просто потрясающий! Мы можем сделать только все и все, что связано с CI & CD с Jenkins, выбирая правильные плагины. Означает ли это, что другие инструменты CI/CD, включая GOCD, менее обширны по сравнению с Дженкинсом? Точно нет! Прочитайте наш блог на Дженкинс против GOCD Чтобы получить подробную информацию о основных предложениях GOCD по сравнению с Дженкинсом.

Согласно результатам Состояние CI/CD 2020 , GOCD медленно и неуклонно набирает обороты по сравнению с другими инструментами CI/CD.

Играть с плагинами в Дженкинсе требует достаточного количества опыта и опыта, что не относится к GOCD. Он направлен на то, чтобы обеспечить основную ценность с меньшим количеством плагинов интеграции в отличие от Дженкинса, для которых требуется несколько плагинов для обеспечения правильной подгонки среды.

@

По словам команды мыслить

«GOCD стремится поддержать наиболее распространенные сценарии CD из коробки без каких -либо плагин» »

Существуют определенные преимущества GOCD, которые делают его выдающейся альтернативой Jenkins для непрерывной доставки и непрерывного развертывания, некоторые из них упоминаются ниже: на таких, как:

  • Гибкость и легко настроить для трубопровода развертывания.
  • Высоко настраивается для разнообразных требований.
  • Поддержка среды Linux и Windows.
  • Гибкость для настройки переменных среды для каждого шага.
  • Обширный для использования для непрерывного развертывания и управления тестированием.

Настройка GOCD

Первый шаг в учебном пособии GOCD — это настроить два важных компонента

  • Сервер GOCD
  • Агент (ы) GOCD

Сервер GOCD — это тот, который обеспечивает работу для агентов и агентов GOCD — это те, которые выполняют назначенную работу, такие как запуск SH Scripts, сборка, развертывание и т. Д.

Что такое сервер GOCD

Перво -наперво, вы можете скачать GOCD Server & Agents из https://www.gocd.org/download/#windows Анкет GOCD придумывает свою собственную версию Java JRE. Следовательно, установка Java не является предпосылкой, если мы не хотим использовать пользовательскую версию JRE. После того, как мы расстегнули от разказы GOCD, мы можем сначала запустить сервер, выполнив команду.

> cd 
> ./bin/go-server start

После этого можно получить доступ к серверу GOCD по адресу http://localhost: 8153/go/

Настройка трубопровода GOCD

Для этого учебного пособия GOCD мы собираемся использовать приложение Spring Boot https://github.com/iamvickyav/spring-boot-h2-war-tomcat

Давайте начнем с создания нашего первого конвейера GOCD.

  1. В верхнем меню нажмите на Администратор -> Трубопроводы
  1. Нажмите на Добавить новый трубопровод кнопка
  1. Выберите Тип материала как Git Анкет Заполните URL -адрес репозитория git Repo URL. В этом примере https://github.com/iamvickyav/spring-boot-h2-war-tomcat.git

Нажмите на Тестовое соединение чтобы обеспечить достопримечательность репо

  1. Далее пришло время назвать наш трубопровод и этапы. Давайте назовите наш трубопровод как Build_demo_pipeline & Stage As buld_demo_pipeline_stage

Теоретически говоря, а CI/CD Pipeline Обычно состоит из нескольких этапов, которые работают последовательно. Каждый этап содержит список задач, которые должны быть выполнены. Каждый этап должен пройти для выполнения последующих этапов.

  1. До сих пор это просто церемония именования с GOCD. Но следующий шаг — это настройка реального действия — Раздел работы и задач

Настройка задач в трубопроводе GOCD

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

  1. Создайте демонстрационное приложение с помощью команды Maven и создать файл войны
  2. Запустить Tomcat, используя скрипт
  3. Развернуть файл войны в Tomcat
  • Строительство применения с использованием Maven

Давайте назваем нашу первую работу как Project_build_task

Под типом ваших задач ниже в разделе «Подсказка», перечислите нашу первую команду как пакет MVN Clean, который создаст файл JAR

MVN Clean Package после выполнения создаст файл войны. Далее нам нужно развернуть файл войны в Tomcat

Как мы еще не закончили с конфигурацией, нажмите «Сохранить + редактировать полную конфигурацию» (не сохранение + запустить конвейер) кнопка

  • Добавление дополнительной задачи в трубопровод GOCD

После нажатия на кнопку «Сохранить + редактировать полную конфигурацию», полная страница конфигурации должна была открыться к настоящему времени. Нажмите на этапы в меню

Нажмите на добавление Новая сцена кнопка

Во всплывающем окне введите имя сцены как Tomcat_setup_stage Анкет Прокрутите вниз во всплывающем окне и введите имя задания как Tomcat_startup_task

Выберите тип задачи как Пользовательская команда

  • Выполнение файла скрипта с работы GOCD

Мы сохранили файл скрипта с именем start_tomcat.sh в рамках каталога Project Root. Вы можете обратиться к файлу Здесь Анкет

Этот файл содержит команды для запуска сервера Tomcat. Нам нужно передать каталог установки Tomcat в качестве ввода для этого SH -файла.

Пришло время для некоторого действия в этой части учебника GOCD Pipeline 🙂 Давайте выполним этот файл скрипта из трубопровода GOCD. Во всплывающем окне «Добавить новый этап» прокрутите вниз к разделу базовых настроек и настройка, как ниже ниже.

Команда/bin/bash Аргументыstart_tomcat.sh/pt/tomcat-8.5.41/

Нажмите на Сохранить кнопка

  • Развертывание войны в Tomcat с помощью Maven

Как мы делали в предыдущем разделе учебника GOCD Pipeline, давайте добавим еще один новый этап, нажмите на Добавить новую кнопку сцены под Этапы из меню. Во всплывающем окне введите имя сцены как Demo_deployment_stage Анкет Прокрутите вниз во всплывающем окне и введите имя задания как Deployment_task

Выберите тип задачи как Пользовательская команда

  • Выполнение файла скрипта с работы GOCD

Мы сохранили файл скрипта с именем start_tomcat.sh в рамках каталога Project Root. Вы можете обратиться к файлу здесь.

Этот файл содержит команды для запуска сервера Tomcat. Нам нужно передать каталог установки Tomcat в качестве ввода для этого SH -файла.

Пришло время для некоторого действия в этой части учебника GOCD Pipeline 🙂 Давайте выполним этот файл скрипта из трубопровода GOCD. Во всплывающем окне «Добавить новый этап» прокрутите вниз к разделу базовых настроек и настройка, как ниже ниже.

Команда -/bin/bash

Аргументы -start_tomcat.sh/pt/tomcat-8.5.41/

Нажмите на Сохранить кнопка

  • Выполнение файла скрипта с работы GOCD

Мы сохранили файл скрипта с именем start_tomcat.sh в рамках каталога Project Root. Вы можете обратиться к файлу здесь.

Этот файл содержит команды для запуска сервера Tomcat. Нам нужно передать каталог установки Tomcat в качестве ввода для этого SH -файла.

Пришло время для некоторого действия в этой части учебника GOCD Pipeline 🙂 Давайте выполним этот файл скрипта из трубопровода GOCD. Во всплывающем окне «Добавить новый этап» прокрутите вниз к разделу базовых настроек и настройка, как ниже ниже.

Команда -/bin/bash

Аргументы -start_tomcat.sh/pt/tomcat-8.5.41/

Нажмите на Сохранить кнопка

  • Развертывание войны в Tomcat с помощью Maven

Как мы делали в предыдущем разделе учебника GOCD Pipeline, давайте добавим еще один новый этап, нажмите на кнопку «Добавить новую сцену» под этапами из меню. Во всплывающем окне введите имя сцены как demo_deploy

Выберите тип задачи в качестве пользовательской команды

Под Основные настройки раздел и настройка, как ниже

Команда — MVN

Аргументы — Tomcat7: развернуть

Нажмите на Сохранить кнопка

Теперь у нас есть конвейер с тремя этапами, готовыми к исполнению

  • Включение трубопровода для выполнения

По умолчанию трубопровод будет в состоянии приостановки, пока мы не отказались от него явно. После того, как конфигурация трубопровода будет сделана, нажмите кнопку «Непоуз» рядом с трубопроводом

Ура !! Поздравляю! Мы успешно настроили наш трубопровод. Перед выполнением вам необходимо настроить агент GOCD — одну из самых важных частей системы GOCD. Как упоминалось ранее, агент GOCD — это то место, где действительно происходит выполнение. Итак, давайте настроим наш агент GOCD

Настройка агента GOCD

Разируйте агент GOCD, которого мы уже скачали с https://www.gocd.org/download/

компакт диск

./bin/go-Agent Start

Как только агент запускается, посетите http://localhost: 8153/go/агенты Чтобы проверить, зарегистрируется ли агент на сервер GOCD

Мы можем прикрепить несколько агентов к нашему серверу GOCD за раз. Но для нашей задачи одного агента GOCD достаточно нашей задачи

Выполнение конвейера GOCD

Теперь вернемся к нашей панели GOCD на http://localhost: 8153/go/pipelines и выполнить трубопровод

Мы можем увидеть журналы и состояние каждого этапа под конвейером в самой панели панели. Три зеленых ящика показывают, что выполнение всех трех этапов было успешным

Проверка журналов трубопровода

Чтобы проверить журналы трубопровода, нажмите на ссылку «История» рядом с кнопкой запуска трубопровода

Нажмите на любой этап, а затем нажмите «Перейти на страницу сведений», чтобы увидеть журналы, чтобы увидеть журналы

Установите основы CI/CD с помощью этого видео, которое глубоко погружается в придурок CI/CD:

Трубопровод как код в GOCD

Pipeline GOCD в качестве кода является дополнительной функцией. Вместо создания конвейера с помощью пользовательского интерфейса мы можем создать отдельный файл конфигурации трубопровода с пошаговыми инструкциями о конвейере. Этот файл может быть записан в форматах YAML или JSON.

Обычно файл конфигурации трубопровода хранится в корневом каталоге вместе с исходным кодом

Создание конвейера GOCD с использованием конвейера в качестве кода подход

Для лучшего понимания я собираюсь воссоздать предыдущий конвейер, который мы использовали в этой статье, используя трубопровод в качестве метода кода

В этом трубопроводе у нас было три этапа

  1. Создайте демонстрационное приложение с помощью команды Maven и создать файл войны
  2. Запустить Tomcat, используя скрипт
  3. Развернуть файл войны в Tomcat

Вот образец конфигурации YAML для достижения того же

format_version: 2
pipelines:
  pipeline_code_demo:
    group: defaultGroup
    materials:
      backend:
        git: https://github.com/iamvickyav/spring-boot-h2-war-tomcat.git
        branch: master
    stages:
      - Build_Demo_Project_Stage:
          clean_workspace: true
          jobs:
            build_task:
              tasks:
                - exec:
                    run_if: passed
                    command: mvn
                    arguments:
                    - package
      - Start_Tomcat_Stage:
          clean_workspace: true
          jobs:
            start_tomcat_task:
              tasks:
                - exec:
                    run_if: passed
                    command: /bin/sh
                    arguments:
                    - start_tomcat.sh
                    - /opt/tomcat-8.5.41 
      - Deploy_Project_Stage:
          clean_workspace: true
          jobs:
            deploy_project_task:
              tasks:
                - exec:
                    run_if: passed
                    command: mvn
                    arguments:
                    - tomcat7:deploy

Мы создали файл YAML с именем pipeline.gocd.yaml в рамках каталога Project Root с вышеуказанным содержанием конфигурации

Переправьте это здесь — https://github.com/iamvickyav/spring-boot-h2-war-tomcat/blob/master/pipeline.gocd.yaml

Давайте создадим трубопровод, используя этот YAML. Перейти к приборной панели GOCD в

http://localhost:8153/Go/Tipelines

Нажмите на Новый трубопровод -> Используйте трубопроводы в качестве кода

На странице конфигурации следуйте приведенной ниже конфигурации

Выберите язык конфигурации — YAML

Тип материала — git

URL -репозиторий — https://github.com/iamvickyav/spring-boot-h2-war-tomcat.git

Нажмите на тестовое соединение, чтобы обеспечить подключение

Прокрутите вниз, чтобы подключить ваш SCM Repo к этому разделу GOCD Server и дайте имя для подключения, скажем GIT-соединение

Прокрутите вниз до добавления Ваш файл конфигурации в ваш раздел Repo SCM и нажмите «Репозитории сканирования» для кнопки конфигурации.

Это будет сканировать для *.gocd.yaml -файла в Git Repo, который мы настроили на предыдущем шаге (поэтому мы назвали наш файл конфигурации в качестве Pipeleline.gocd.yaml)

Как только сканирование будет завершено, GOCD перечислит наше имя файла, как найдено. Нажмите кнопку Сохранить

После сохранения GOCD попытается проанализировать файл YAML и проверить синтаксис конфигурации. Если в синтаксисе есть какие -либо ошибки, GOCD покажет то же самое здесь

Если синтаксис действителен, GOCD покажет кнопку «Зеленая тик»

Теперь вернитесь к приборной панели GOCD на http://localhost: 8153/go/pipelines где мы можем увидеть наш новый конвейер, созданный. Нажмите кнопку «Воспроизведение», чтобы запустить трубопровод

Автоматизация испытаний с трубопроводом GOCD и LambDatest

Как упоминалось ранее, этот учебник по трубопроводу GOCD не только охватывает всю установку трубопровода, но и объясняет повестку дня всей установки. Давайте попробуем настроить и запустить АВТОМАЦИАЦИЯ ТЕСТА SELENIUM Проект с трубопроводом GOCD, это поможет вам понять, как автоматизация ускоряет доставку проекта. Для запуска теста на автоматизацию селена мы будем использовать облачную сетку Selenium на LambDatest.

Используя LambDatest Selenium Grid, вы можете максимизировать охват браузера, поскольку она предлагает широкий спектр 2000+ браузеров и поддерживает несколько платформ на множестве устройств. С Lambdatest Selenium Automation Suite вы можете выполнить Cross Browser Testing Гораздо быстрее и проще, чем в местной сетке.

Используя GOCD с лямбдейкой> Вы можете достичь более быстрых петлей обратной связи через его моделирующие конструкции, что делает ваш сложный конвейер CI/CD намного проще. Вы также получаете такие функции, как управление зависимостями и параллельное выполнение, которые помогут вам быстрее предоставить лучшие продукты.

Предварительные условия:

  1. LambDatest> Учетная запись автоматизации, имя пользователя и токен доступа
  2. Обязательно установите GOCD в вашей системе, используя шаги, упомянутые в более ранних разделах этого учебника GOCD.

Для демонстрации GOCD с LambDatest мы собираемся использовать Образец огурца Проект из репозитория GitHub LambDatest. Он содержит тестовые примеры автоматизации для тестирования Rambdatest todo app Анкет

Начнем с создания трубопровода

Создание трубопровода автоматизации тестов

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

  1. В верхнем меню нажмите «Адми
  1. Нажмите кнопку «Добавить новую трубопровод»
  1. Выберите тип материала как git. Заполните URL -адрес репозитория git Repo URL. В этом примере мы использовали

https://github.com/LambdaTest/Cucumber-TestNG-Selenium.git

Нажмите на тестовое соединение, чтобы убедиться

Далее нам нужно назвать наш трубопровод и сцену. В концепции, трубопровод — это набор этапов, и каждый этап содержит список задач, которые будут выполнены

Давайте назовите наш конвейер как TODO_APP_TEST & Stage как TODO_TESTING_STAGE

Далее следует настройка раздела заданий и задач. Чтобы запустить наш код тестирования, нам нужно использовать команду MVN Clean Test

Давайте укажем команду Maven в соответствии с заданиями и задачами

Настройка переменной среды

Поскольку код предназначен для запуска в LambDatest, нам нужно установить токен имени пользователя и доступа лямбчата в качестве переменных среды

Чтобы установить переменные среды, нажмите на расширенные настройки -> Простой текстовые переменные -> Добавить кнопку

Добавьте переменные LT_USERNAME и LT_ACCESS_KEY и соответствующие значения с LambDatest Веб -сайт — https://accounts.lambdatest.com/detail/profile

Вот и все. Теперь нажмите «Сохранить + запустить эту кнопку трубопровода», чтобы выполнить наш трубопровод

Вы можете увидеть работу сборки сейчас

Проверка журналов сборки

Как только сборка успешно пройдет, мы можем проверить журнал, нажав на страницу Green Tick и нажмите «Перейти на сведения» на сцене

Нажмите на ссылку на задание в разделе «Прошлое» в меню «Левая сторона»

Нажмите на развернуть все вариант в меню консоли, чтобы увидеть весь журнал

Ура! Мы успешно выполнили нашу первую работу по трубопроводу и проверили журналы, доступные на консоли.

Проверка теста на автоматизацию в LambDatest

Вы можете найти журналы (например, журналы команд, сетевые журналы и т. Д.) Для теста автоматизации селена на платформе LambDatest. Видео, доступное с помощью тестового прогона, помогает проверить In -ins и Out выполнения теста (или тестовый запуск).

Круто, не так ли?

Вывод

Хорошо организованный трубопровод значительно облегчает работу для команды и обеспечивает надежное развертывание и доставку. В этом учебном пособии GOCD у нас был подробный взгляд на то, как настроить конвейер GOCD, настройку нескольких этапов, настройку агентов GOCD, с использованием переменных среды и использования автоматизации тестов селена с помощью трубопровода GOCD. Надеюсь, вы нашли это полезным. Пожалуйста, дайте нам знать ваши мысли и запросы в разделе комментариев.

Счастливого тестирования!

Оригинал: «https://dev.to/himanshusheth004/building-an-automated-testing-pipeline-with-gocd-44dg»