Как настроить тестирование с Vanessa Automation и Gitlab с нуля

Боитесь, что тесты пропадут, если компьютер сломается? Хотите видеть историю изменений? Вынуждены запускать тесты в отпуске, потому что у других членов команды нет к ним доступа? Не можете одновременно работать над написанием и прогоном? Знакомы эти проблемы, хотите избавиться от них раз и навсегда? Тогда вам необходимо использовать Vanessa Automation вместе с Gitlab. И я готов показать этот процесс на максимально простом примере. Меня зовут Дмитрий, я занимаюсь тестированием 1С Зуп в команде HR Tech Самолет. В сфере 1С я уже 7 лет, работал консультантом, аналитиком и программистом. А в тестирование перешёл, чтобы уберечь галактику от ошибок ПО. Поехали!

Результат генерации по запросу

Результат генерации по запросу «Тестировщик 1С использует gitlab и Vanessa Automation для тестирования 1с зуп в Самолете», стиль anime

Содержание

Вводное слово

В нашем примере не используется Onescript, Vanessa Runner, другие дополнительные библиотеки, не разбираются нюансы запуска раннеров, джобы не падают, нет использования переменных gitlab-а. Минимальный уровень знаний: вы прошли и поняли всё из бесплатного курса Виталия Онянова по Vanessa Automation.

Схема №1

Схема №1

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

  1. Собственно, мы. Мы работаем за ПК №1 и пишем тесты на Vanessa Automation. Потом с помощью Vanessa Automation и git отправляем тесты в gitlab. Vanessa Automation здесь выступает в качестве графической оболочки для git.

  2. Gitlab. Сервис, который все вышеперечисленные возможности предоставляет. Хранит файлы, их историю, может запускать тесты на других компьютерах, если на них установлены gitlab-runnerы. Разумеется, gitlab умеет ещё много всего, но об этом здесь не будем говорить. В нашем примере используется Saas-версия gitlab — та, что в облаке на сайте gitlab.com. Все тоже самое можно сделать и с локальной версией, но тогда вам нужно дополнительно устанавливать еще gitlab pages.

  3. Компьютер ПК №2, на котором установлен gitlab-runner. Gitlab-runner — это программа, которой Gitlab выдает задания для выполнения. Она забирает наши тесты из Gitlab в свою папку, выполняет консольные команды для запуска тестов и формированию отчета Allure и потом всю эту информацию отправляет обратно в Gitlab.

Нагляднее этот пример выполнять на двух компьютерах. Но можно все шаги проделать и на одном, просто установив на него gitlab-runner. Тогда схема для тестового примера будет выглядеть так:

Схема №2

Схема №2

Ниже наш набор, который нужен для воспроизведения примера:

  • Компьютер с Windows 10 (или 2 компьютера с WIndows 10);

  • Аккаунт Gitlab;

  • Платформа 1С;

  • Фреймворк Vanessa Automation;

  • База из поставки Демонстрационная конфигурация «Управляемое приложение» (если пример будете воспроизводить на 2х ПК, то неважно будет ли это одна база, доступная обоим ПК по сети, или 2 разные базы).

Подробнее о компьютере, используемом для примера:

  • ОС Windows 10 Pro Версия 22H2 (сборка ОС 19045.4046) качал с официального сайта.

  • Платформа 1С у нас 8.3.23.2040 — на момент создания статьи это последняя версия платформы, которая работает с комьюнити-лицензией. В описании конфигурации Демонстрационная конфигурация «Управляемое приложение» указано, что необходимо использовать платформу версии 8.3.24 и выше. Наша платформа этим критериям не соответствует, но у меня все запустилось нормально.

  • Базу я брал здесь. Если что, данная страница гуглится фразой Демонстрационная конфигурация «Управляемое приложение».

  • Vanessa Automation брал здесь. В моем примере используется версия 1.2.041.1.

Дополнительно в процессе мы установим Java, Git, Allure, Gitlab-runner, никакого другого софта нам не нужно. Если для примера вы будете использовать один компьютер, то необходимо выполнить все действия на нём. Если два компьютера, то в скобках для вас будет указано, где нужно выполнить тот или иной шаг.

Первоначальная настройка

Сначала произведем ряд действий по установке софта и настроек, которые обязательно должны быть выполнены для успешного выполнения примера:

  1. Создадим новый проект на Gitlab;

Называйте проект как удобно, единственный нюанс — снимите галку Initialize repository with a README. Мой будет называться vanessaTestProject1. Галочку снимаем, чтобы файл README.md не был создан в удаленном репозитории. Без него удобнее регистрировать git.

  1. Скачаем и установим Java (для ПК №2);

Поиск и скачивание Java

cd9037fa5edf55795097352b1015c206.gif

Процесс установки Java

c8cbac8dc28cc5ded6762fd693af75e0.gif

Java нужна, чтобы работал Allure. После установки Java необходимо перезагрузить компьютер.

  1. Cкачаем Git (для обоих ПК);

Как найти нужный файл на сайте Git

1c444d3b2a29a5bcfa95c80293aec540.gif

Здесь никаких нюансов нет. Качаем с официального сайта для вашей версии системы. Вот прямая ссылка для скачивания по состоянию на март 2024 года.

  1. Установим Git (для обоих ПК);

Процесс установки

6d34c8f5817233cf586132b10f1184b4.gif
  1. Подключаем Git к удаленному репозиторию в Gitlab (для ПК №1);

7d04383d618e149ca60b6b443e68c0a9.gifПоследовательность действий подробно

  • Выберем папку, где будут храниться тесты наших проектов. В моем случае C:\vanessaTestProject\tests.

  • Запустим командную строку или Powershell из этой папки.

  • Введем в консоль команды, которые подключат наш локальный репозиторий к удаленному, создадут файл README.md и отправят его в gitlab. Для моего проекта:

git config --global user.name "dima secret"
git config --global user.email "vanessatestprojectdima@gmail.com"
git clone https://gitlab.com/dimaSecret/vanessatestproject1.git
cd vanessatestproject1
git switch --create main
echo test >README.md
git add README.md
git commit -m "add README"
git push --set-upstream origin main

Все команды кроме одной взял с gitlab, а именно — вместо touch README.md — echo test >README.md. Поясню: touch README.md — это команда, которая создает пустой файл на Linux — она у нас работать не будет. Будет работатьecho test >README.md — команда, которая создает файл со строкой test на Windows.

Команды для регистрации git создаются gitlabом автоматом именно под ваш проект — это удобно, ничего гуглить дополнительно не надо.

После команды git clone необходимо будет ввести логин и пароль, под которыми вы заходите на gitlab.com. Можно также воспользоваться окном авторизации в gitlab, но не факт что оно у вас в первый раз появится.

  1. Теперь нужно отключить защиту от опасных действий в 1С (для обоих ПК);

Для этого запускаем блокнот под админом и добавляем в файл conf.cfg строку DisableUnsafeActionProtection=.* . Это нужно, чтобы в 1С не всплывало окно предупреждения безопасности:

3c02fb23125b7a1827299040ebdda707.jpg

Защиту от опасных действий отключаю для удобства. На проде такое делать нельзя!

Отключение защиты от опасных действий в 1С

f2206f99eef702bb4b2cfb8f0c084dbf.gif
  1. Добавляем в Gitlab новый gitlab-runner;

  • Заходим в раздел Settings, потом в CI/CD, потом в раздел Runners.

  • Выключаем Instance runners.

  • Жмем кнопку New project runner.

  • Ставим переключатель на Windows, ставим галку Run untagged jobs.

  • Жмем кнопку Create runner.

По итогам этого шага в Gitlab появился новый gitlab-runner.

Добавление gitlab-runner

837bb9ce19e8e0571ccb2327b63ddf17.gif
  1. Устанавливаем и регистрируем gitlab-runner на нашем компьютере (для ПК №2);

  • Чтобы открыть инструкцию, нажмем на гиперссылку How do I install Gitlab Runner.

  • Создадим на диске C папку Gitlab-Runner.

  • Запустим из папки C:\Gitlab-Runner командную строку или Powershell.

  • Введем команду для скачивания из предложенной нам инструкции :

Invoke-WebRequest -Uri "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-amd64.exe" -OutFile "gitlab-runner.exe"
.\gitlab-runner.exe register  --url https://gitlab.com  --token glrt-zU3fFBCGuxhcq6JyvFj2

После ввода команды, gitlab-runner задаст нам три вопроса:

  • Enter the GitLab instance URL (for example, https://gitlab.com/): Ничего не вводим — жмем Enter.

  • Enter a name for the runner. This is stored only in the local config.toml file: Ничего не вводим — жмем Enter.

  • Enter an executor: ssh, docker+machine, kubernetes, docker-autoscaler, custom, shell, parallels, virtualbox, docker, docker-windows, instance: Пишем в поле ввода Shell и жмем Enter. У нас на компьютере команды будут запускаться через Powershell.

Результат шага — на нашем компьютере зарегистрирован gitlab-runner.

Процесс установки gitlab-runner на наш компьютер

7897bb9586d51cda7bae80b5691be9d1.gif
  1. Запускаем gitlab-runner (для ПК №2);

    Для запуска перейдем в папку, где лежит файл gitlab-runner.exe. Вызываем командную строку или Powershell в этой папке, вводим:

.\gitlab-runner.exe run

Процесс запуска gitlab-runner

d9e9e14057422c4d27500050caec12a4.gif
  1. Устанавливаем в качестве исполнителя Powershell (для ПК №2);

Зайдем в файл C:\Gitlab-Runner\config.toml и отредактируем значение для атрибута shell. При установке устанавливается значение pwsh. Если мы его оставим — команды выполняться не будут, gitlab-runner будет ругаться и выдавать ошибку, что pwsh в качестве исполнителя не найден. Вместо pwsh установим значение powershell.

Процесс установки Powershell в качестве исполнителя

...

  1. Добавляем gitlab-runner в автозагрузки (для ПК №2);

Важный момент: Gitlab-runner должен быть запущен не как служба, а как приложение. Если gitlab-runner будет запускаться как служба, то скриншотов ошибок не будет, т.к. не будет подключена графика. Также не все шаги будут работать.

  • Чтобы при старте системы наш gitlab-runner запускался как приложение, создадим bat-файл и добавим его в автозагрузку.

  • Чтобы открыть папку автозагрузки, вызовем утилиту Выполнить и введем команду shell: startup.

  • Создадим текстовый файл и введём в него команды:

cd C:\Gitlab-Runner
.\gitlab-runner.exe run

Первая переходит в папку с gitlab-runner, вторая его запускает. В папку нужно переходить обязательно, иначе будет ошибка, что config.toml не найден.

Создание скрипта и добавление его в автозагрузки

6159acda6e6e8d6fc05cc41e294607c6.gif
  1. Скачиваем и устанавливаем Allure (для ПК №2);

Дистрибутив доступен на официальной странице проекта. Установка сводится к распаковке архива. Для удобства папку с Allure копируем в C:\vanessaTestProject.

Скачивание и установка Allure

Скачивание

Скачивание

Установка

Установка

  1. Добавляем Allure в PATH (для ПК №2);

Это позволит в Vanessa Automation выводить отчет Allure, а также сделает более удобным написание команд:

  • откроем окно свойство системы с помощью ввода команды sysdm.cpl;

  • перейдем на вкладку Дополнительно — Переменные среды;

добавим в переменную PATH путь до файла allure — в нашем случае — C:\vanessaTestProject\allure-2.27.0\bin.

c37766b43e93c486c866f662155677c7.gif

Блок настроек закончен, дальше только интересное. Часть шагов отмечено на схемах №1 и №2 для наглядности.

Создание тестов в Vanessa Automation

  1. Добавим первый тест через форму работы с каталогами.

  • Запустите обработку Vanessa Automation;

  • Откройте дерево каталогов работы с файлами;

  • Перейдите в папку, где лежат тесты для нашего проекта — C:\vanessaTestProject\tests\vanessatestproject1;

  • Добавьте первый тест.

Текст теста

#language: ru

@tree

Функционал: проверка установки пометки удаления

Контекст:
  Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий

Сценарий: Установка пометки удаления для элементов справочника Валюты
И В панели функций я выбираю 'Валюты'
Тогда открылось окно 'Валюты'
И для каждой строки таблицы 'Список' я выполняю
  И я выбираю пункт контекстного меню с именем 'СписокКонтекстноеМенюУстановитьПометкуУдаления' на элементе формы с именем "Список"
  Тогда открылось окно '1С:Предприятие'
  И я нажимаю на кнопку с именем 'Button0'
  Тогда открылось окно 'Валюты'
  И я выбираю пункт контекстного меню с именем 'СписокКонтекстноеМенюУстановитьПометкуУдаления' на элементе формы с именем "Список"
  Тогда открылось окно '1С:Предприятие'
  И я нажимаю на кнопку с именем 'Button0'
  1. Откроем форму работы с git в Vanessa Automation.

Откроем форму работы с Git и выберем нашу папку C:\vanessaTestProject\tests\vanessatestproject1, куда мы уже добавили один тест. Видим, что Vanessa Automation подсказывает нам, что в нашей папке есть файлы, которые отсутствуют в удаленном репозитории, но есть в локальном. Vanessa Automation выступает здесь в качестве графической оболочки над git.

Наглядное изображение процесса

feec68b49857b01df3c0d72aa7eff4ff.gif
  1. Сохраним еще два теста в наш каталог.

07aae921c6686c220039d32024cec061.gifТексты тестов из примера

#language: ru

@tree

Функционал: ввод данных

Контекст:
  Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий

Сценарий: Создание элемента справочника Контрагенты
И В панели функций я выбираю 'Контрагенты'
Тогда открылось окно 'Контрагенты'
И я нажимаю на кнопку с именем 'ФормаСоздать'
Тогда открылось окно 'Контрагенты (создание)'
И в поле с именем 'Наименование' я ввожу текст 'Администрация новая'
И я нажимаю на кнопку с именем 'ФормаЗаписатьИЗакрыть'
И я жду закрытия окна 'Контрагенты (создание) *' в течение 20 секунд
#language: ru

@tree

Функционал: ввод данных

Контекст:
  Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий

Сценарий: создание записи в регистре сведений Курсы валют
И В панели функций я выбираю 'Курсы валют'
Тогда открылось окно 'Курсы валют'
И я нажимаю на кнопку с именем 'ФормаСоздать'
Тогда открылось окно 'Курсы валют (создание)'
И в поле с именем 'Валюта' я ввожу текст 'Российский рубль'
И в поле с именем 'Валюта' я ввожу текст ''
И я нажимаю на кнопку с именем 'ФормаЗаписатьИЗакрыть'
И я жду закрытия окна 'Курсы валют (создание) *' в течение 20 секунд

Для наглядности сценарий «Создание записи» в регистре сведений Курсы валют у нас будет падать. Сценарии «Создание элемента справочника Контрагенты» и «Установка пометки удаления» для элементов справочника Валюты будут проходить.

  1. Переносим тесты в Gitlab.

На форме работы с git выполните следующие действия:

  • Выделите все тесты;

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

  • Напишите Commit — комментарий, с которым наши файлы будут добавлены в Gitlab;

  • Нажмите кнопку Push;

  • Появится сообщение об успешной доставке данных в Gitlab;

  • Открывайте Gitlab и проверяйте, что тесты действительно доставлены в облако.

Процесс отправки тестов в Gitlab

962aa70fb7371d299b05ce10d97efdc1.gif
  1. Добавление пайплайна в Gitlab.

Если говорить простыми словами, то «пайплайн в gitlab»— это рецепт приготовления готовой программы, описание которого указано в файле .gitlab-ci.yml. В этом файле указаны стадии приготовления нашей программы (stages), например: сборка из исходников (build), запуск автотестов (test), установка на сервер (deploy). Каждая стадия в свою очередь может состоять из нескольких работ (джоб или jobs), в которых описываются уже конкретные действия, необходимые для выполнения (script) или описывается последовательность работы с файлами (artifacts).

Добавим файл.gitlab-ci.yml в наш проект:

stages:
    - test
test:
    stage: test
    script:
        #включаем понимание системой кириллицы
        - chcp 65001

Теперь у нас есть пайплайн, который состоит из одного этапа — test, для которого есть одна джоба — test, единственной целью которой является включение кириллицы. Но это пока.

Пример создания пайплайна в Gitlab

cd498ae8ce957e627b1d0af8f55d3d0c.gif
  1. Проверяем результат работы созданной на предыдущем этапе джобы.

Зайдем в раздел Build — Jobs. Провалимся в нашу первую джобу. В ней можно увидеть процесс выполнения команды chcp 65001. Результат Active code page: 65001, как и ожидалось. Команда успешно выполнилась, статус джобы поменялся на Passed.

На нашем компьютере в папке C:\Gitlab-Runner\builds\zU3fFBCGu\0\dimaSecret\vanessatestproject1 появились те же файлы, что и в Gitlab. При каждом запуске нашего пайплайна содержимое папки будет актуализироваться.

Проверка работы джобы

429aa7ae3d93ab22ad650e85abeb6810.gif
  1. Указываем дополнительные настройки Vanessa Automation.

  • На вкладке Основные для Системных каталогов укажем папку C:\Gitlab-Runner\builds\zU3fFBCGu\0\dimaSecret\vanessatestproject1 -в ней будут хранится тестовые сценарии, которые приезжают к нам из gitlab.

  • На вкладке Скриншоты проставим галки Делать скриншоты по требованию, а также Делать скриншоты компонентой VanessaExt. Создадим и укажем в настройках каталог для скриншотов C:\vanessaTestProject\screenshots.

  • На вкладке Отчет о запуске сценариев проставим флаг Формировать отчет в формате Allure. Создадим и укажем в настройках каталог для скриншотов C:\vanessaTestProject\allure-results.

  • Сохраним настройки в файл VAParams.json. Для удобства создадим отдельный каталог C:\vanessaTestProject\settings.

Создание доп. настроек Vanessa Automation

491c6b30c8adb2a6b37d253c82b494c2.gif
  1. Получим строку запуска Vanessa Automation для Powershell.

В разделе Прочее нажмем на кнопку Получить строку запуска из командной строки:

"C:\Program Files\1cv8\8.3.23.2040\bin\1cv8c" /N"" /TestManager /Execute "C:\vanessaTestProject\vanessa-automation-single.epf" /IBConnectionString "File=""\DESKTOP-5UB7GS9\Users\fluMac\Documents\InfoBase"";" /C"StartFeaturePlayer;QuietInstallVanessaExt;VAParams=C:\Temp\VAParams.json"

Давайте разбираться, что это за строка у нас сформировалась. Разобьем ее на части и проанализируем:

  • «C:\Program Files\1cv8\8.3.23.2040\bin\1cv8c» — путь до ярлыка запуска 1С.

  • /N» — аргумент для указания имени пользователя. В нашей базе пользователя нет, поэтому между кавычек пусто.

  • /TestManager — 1С будет запущена в режиме менеджера тестирования.

  • /Execute «C:\vanessaTestProject\vanessa-automation-single.epf» — после запуска 1С будет запущена обработка, в нашем случае Vanessa Automation.

  • /IBConnectionString «File=»\DESKTOP-5UB7GS9\Users\fluMac\Documents\InfoBase»; — путь до базы.

  • » /C«StartFeaturePlayer; — будут загружены сценарии.

  • QuietInstallVanessaExt; — будет выполнена установка компоненты VanessaExt (будет нам делать скрины ошибок).

  • VAParams=C:\Temp\VAParams.json — Vanessa Automation будет запущена с дополнительными настройками.

Соответственно, если эту команду запустить в командной строке, то у нас запустится 1С в режиме менеджера тестирования с определенной базой под определенным пользователем, в которой Vanessa Automation с определенными настройками будет запускать тесты.

Правда, здесь есть несколько нюансов:

  • Файл настроек лежит не в папке Temp, так что адрес надо поменять на C:\vanessaTestProject\settings\VAParams.json.

  • Исполнителем для gitlab-runner является Powershell, там такая команда не сработает — это особенности синтаксиса консоли. Перед командой необходимо поставить &.

  • Аргумент /N» в Powershell будет воспринят неправильно, возможно это связано с экранированием. В общем, 1С попытается запуститься с пользователем /TestManager. Поэтому /N» для нашего примера мы вообще из строки уберем.

Итоговая строка для запуска из PowerShell будет выглядеть так:

& "C:\Program Files\1cv8\8.3.23.2040\bin\1cv8c" /TestManager /Execute "C:\vanessaTestProject\vanessa-automation-single.epf" /IBConnectionString "File=""\DESKTOP-5UB7GS9\Users\fluMac\Documents\InfoBase"";" /C"StartFeaturePlayer;QuietInstallVanessaExt;VAParams=C:\vanessaTestProject\settings\VAParams.json"

Получение строки для PowerShell

7fec736edf200b8e1c6d8ff9d53b87a9.gif
  1. Откорректируем наш пайплайн с учетом настроек Vanessa Automation.

Теперь у нас есть все данные, чтобы дописать файл.gitlab-ci.yml. Сейчас в нашей стадии test одна джоба — test. И пока в ней только одна команда включения кириллицы. Мы добавим к ней команду запуска Vanessa Automation из предыдущего этапа.

Но для получения результатов в нашем примере недостаточно просто прогнать тесты. Нам также необходимо хранить где-то результаты тестирования — наши отчеты Allure. Для этого создадим еще одну джобу, я назвал ее screenshots. Сейчас я бы назвал ее по-другому, т.к. название не соответствует ее содержанию, но уж сделал как сделал. В этой джобе у нас всего одна команда, которая создает нам отчет Allure на основе файлов, которые подготовила для него Vanessa Automation. Рассмотрим строку раздельно:

  • allure generate — сгенерировать итоговый файл отчета Allure.

  • --clean — очищает папку отчета, перед созданием нового

  • --report-dir C:\Gitlab-Runner\builds\zU3fFBCGu\0\dimaSecret\vanessatestproject1\allure-results — папка куда наш отчет Allure будет сохранен. Т.к. нам нужно, чтобы gitlab-runner данный отчет забрал в gitlab для сохранения, мы и сохраняем его в папку с нашим проектом.

  • --single-file — отчет формируется в виде одного файла. Для тестового примера удобней именно эта опция. Правда это лишает нас возможности смотреть историю прохождения этих тестов в предыдущих прогонах.

  • C:\vanessaTestProject\allure-results — папка откуда Allure берет файлы, подготовленные Vanessa Automation по итогу прохождения тестов.

Еще нам нужно указать, что по итогам прохождения тестов, нам необходимо забрать файл отчета. Мы укажем эту информацию в нашей джобе в разделе artifacts. Тут будет прописан относительный путь до папки с нашим отчетом. Вы спросите, а почему бы нам все команды в одну джобу не засунуть? Ответ — в нашем примере gitlab-runner выполнит сразу все команды и будет формировать отчет Allure еще до окончания выполнения тестов. И мы получим пустой отчет Allure.

Итоговый текст файла .gitlab-ci.ymlс комментариями

stages:
    - test
test:
    stage: test
    script:Зайдем в Gitlab и отредактируем файл  .gitlab-ci.yml с учетом настроек, которые мы установили в Vanessa Automation. Ниже полный текст с комментариями:


        #включаем понимание системой кириллицы
        — chcp 65001
        #чуть подредактированная команда, которая генерится обработкой Vanessa Automation. Убран /N"", т.к. нет пользователя, а также изменен путь до файла настроек
        — >
            & "C:\Program Files\1cv8\8.3.23.2040\bin\1cv8c" /TestManager /Execute "C:\vanessaTestProject\vanessa-automation-single.epf" /IBConnectionString "File=""\\DESKTOP-5UB7GS9\Users\fluMac\Documents\InfoBase"";" /C"StartFeaturePlayer;QuietInstallVanessaExt;VAParams=C:\vanessaTestProject\settings\VAParams.json"
#генерация аллюр-отчета — отдельная джоба, т.к. если засунуть все в одну — все команды будут выполнены разом еще до того, как тест закончится, и результатов в аллюр отчете не будет
screenshots: 
    stage: test
    script:   
        #команда для генерации аллюр-отчета, аргументы:
        #--clean — очищает папку до генерации отчета
        #--report-dir C:\Gitlab-Runner\builds\nWwBLwR2E\0\testprojectsdima\vanessatestproject1\allure-results — путь куда сохранится отчет 
        #--single-file — аллюр отчет будет генерится одним файлом
        #C:\vanessaTestProject\allure-results — путь откуда берутся данные    
        — allure generate --clean --report-dir C:\Gitlab-Runner\builds\zU3fFBCGu\0\dimaSecret\vanessatestproject1\allure-results --single-file C:\vanessaTestProject\allure-results 
    artifacts: 
        paths:
            — ./allure-results #папка из проекта в гитлаб раннере, откуда будет браться раннером отчет
d51d4108928ac9ccfb9c925891465754.gif

После изменения файла .gitlab-ci.ymlзапустится выполнение пайплайна.

  1. Посмотрим на джобу тестов.

После изменения файла .gitlab-ci.yml запустятся джобы нашего пайплайна. Gitlab-runner запустит Vanessa Automation. Откроем список джоб в разделе Build — Jobs. Видим, что джоба test выполнилась успешно.

e9f0b926521ea32721a4036c85312980.gif

  1. Посмотрим джобу отчётов Allure.

Откроем список джоб в разделе Build — Jobs. Видим, что джоба screenshots выполнена успешно. К ней также прикреплен Allure отчет, который gitlab разместил у себя на сервисе Gitlab Pages. Отчет можно скачать или открыть для просмотра по кнопке Browse. Для этого никаких настроек делать не надо, все отработает само.

Джоба отчётов Allure

faa84344a2151c77ea8b3bf7addd44a9.gif
  1. Как теперь запускать пайплайн?

В нашем тестовом примере пайплайн будет запускаться всегда при изменении/добавлении/удалении файлов в репозитории. Также можно запускать его отдельно в разделе Build — Pipelines по кнопке Run pipeline.

Запуск пайплайна в Gitlab

db807ebca2608d2acd07629784e11a8b.gif

Выводы

Поздравляю, теперь у вас есть понимание как работает Vanessa Automation и gitlab! В Самолёте у нас иной стек и связка сильно сложнее: СППР + Vanessa Automation + Gitlab. Так что, здесь ознакомились лишь с базовым примером, который поможет чуть углубиться в индустрию тестирования. Если есть какие-то вопросы, пишите, постараюсь ответить в комментариях.

Благодности: HR Tech Samolet: Дмитриев Дмитрий (Ведущий программист 1С Зуп), Кашаканов Баир (бывший техлид 1С Зуп), Козлова Инна (нынешний техлид 1С Зуп), Гарбуз Елена (руководитель отдела качества HR Tech Samolet), Бакулина Наталия (Ведущий программист 1С Зуп).

Cообщество testspro1c: Леонид Паутов, Виталий Онянов, @Evgeniy_Chekushkin, @nixel2007, @Labotamy, @OLYRS.

© Habrahabr.ru