Как я могу выполнить тестовые случаи testNG параллельно на нескольких машинах? - PullRequest
0 голосов
/ 07 мая 2019

У меня есть тестовые примеры, реализованные для тестирования уровня обслуживания, и я могу выполнять их параллельно на уровне комплекта, используя {parallel = tests}, как показано ниже

<suite name="Suite_Name" parallel="tests" thread-count="10">

Если у меня есть родительский комплект, состоящий из детейнаборы, как показано ниже, и если я хотел бы создать задание Jenkins для выполнения этого родительского набора, есть ли способ выполнить эти дочерние наборы параллельно [внутренне каждый дочерний набор будет выполнять свои тесты параллельно]?

<suite>
   <suite-files>
    <suite-file path="./testSuite_1.xml"/>
    <suite-file path="./testSuite_2.xml"/>
    <suite-file path="./testSuite_3.xml"/>
    <suite-file path="./testSuite_4.xml"/>
</suite-files>

Я знаю, что селеновая сетка может использоваться, если у нас есть какие-либо тестовые примеры в Интернете, но у меня есть случаи, не основанные на Интернете.Это тестовые случаи API / уровня обслуживания, которые реализуются с помощью настраиваемой среды с использованием библиотек Java, TestNG и Jax-rs.

1 Ответ

0 голосов
/ 09 мая 2019

Это во многом зависит от того, как вы проводите свои тесты.Предположим, вы говорите о запуске тестов в среде CI.Я собираюсь использовать конвейеры GitLab , чтобы проиллюстрировать мой ответ.

Если вы можете запустить один пакет из командной строки.Что-то вроде runTests suite1.Затем в своем конвейере настройте задание для каждого набора тестов.Присвоив все задания одной и той же стадии, они будут выполняться параллельно.

Исходя из примера, ваш .gitlab-ci.yml будет выглядеть примерно так:

stages:
  - build
  - test

job 1:
  stage: build
  script: runBuild

job 2:
  stage: test
  script: runTests suite1

job 3:
  stage: test
  script: runTests suite2

job 4:
  stage: test
  script: runTests suite3

job 5:
  stage: test
  script: runTests suite4

ПРИМЕЧАНИЕ: если вы добавите более подробную информацию к своему вопросу, не стесняйтесь, напишите мне сообщение, и я обновлю свой ответ соответственно.Помогут такие вещи, как система CI, инструмент сборки и т. Д.

Особенности Jenkins

Спасибо за разъяснения по поводу вашей среды.Я лично не делал этого с Дженкинсом.Однако у Cloudbees есть сообщение в блоге , в котором говорится о параллельном выполнении заданий.Пожалуйста, взгляните на раздел тестов на расщепление в этом посте, это может быть именно то, что вы ищете.

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