2016-06-23 3 views
1

Я запускаю UI-тест для веб-приложения из Jenkins. Поскольку я не хочу, чтобы все тесты запускались каждый раз, я ищу способ иметь несколько конфигураций для одной работы в Jenkins.Jenkins несколько запущенных конфигураций в одном задании

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

`--tags @payment, @login` 

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

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

Моя цель состоит в том, чтобы иметь несколько конфигураций (= разные строки тегов), запускаемых в разное время. Например, запускать тесты входа в систему каждые 10 минут, оплата один раз в день и some_other_testcase только один раз в неделю.

Может ли быть что-то подобное в одной задаче Дженкинса? Или создать несколько заданий, одну для одной комбинации тегов, проще?

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

ответ

1

A Jenkins Multi-configuration (Matrix) project предназначен для выполнения cartesian product сборок, полученных из его осей одновременно. Он не предназначен для запуска сборок с различными конфигурациями в разное время.

Итак, я хотел бы сделать следующее:

  • Создать триггер (Фристайл) проекты:
    • каждые 10 минут
    • раз в день
    • раз в неделю
  • Создание фактической сборки проект с ☑ Эта сборка спараметрирован

Триггер проекты используют после сборки ДействиеTrigger параметризованных сборки на других проектах, чтобы вызвать фактическое постройте с соответствующими тегами в качестве параметра в указанном интервале.

+0

Спасибо, что ясно, что проект с несколькими конфигурациями не подходит для моего случая. Я уже думал, что мне что-то не хватает ... – namarath

2

Моя цель состоит в том, чтобы иметь несколько конфигураций (= разные строки тегов), запускаемых в разное время. Например, запускать тесты входа в систему каждые 10 минут, оплата один раз в день и some_other_testcase только один раз в неделю.

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

Недостатком является то, что вы смешиваете результаты теста в одном задании.

Другим способом было бы создание задания и дублирование его с различными конфигурациями и триггерами.

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

+0

все результаты испытаний в одной работе на самом деле то, что я ищу. Структура тестирования объединяет все результаты теста в один HTML-отчет. Так что проблем здесь нет :) – namarath

Смежные вопросы