Запуск одно теста с разными конфигурациями на Jenkins

Есть написанный тест под ios_app в связке Java + Maven + Junit + Appium. Нужно заранить этот тест на 4-х девайсах последовательно.

У меня всего есть один mac mini, где крутится Appium Server + Xcode 7.2.1. Есть идея создавать новых 4-ре билда с тем же тестом, но устанавливать каждому тесту свои capabilities. Но это будет сильно много этих билдов.

Так как стоит задача тестить iPhone 5s, 6s, 4s, 6 на платфомах 9.2 /8.4 и iPhone 5, 4 @ 7.2.1. Плюс еще Ipad (3 с разными платформами) Хотелось бы создать билд который билдил бы iPhone 5s, 6s, 4s, 6 @9.2 и iPhone 5s, 6s, 4s, 6 @8,4 и что бы все тесты шли друг за другом.

Начал реализовывать по этой ссылке( Yaml Axis )
На выходе получил такое ( https://screencloud.net/v/pgr9 ). Все это быстро заранилося.
Билд зелененький. Но смутило то что быстро, не было визуального подверждения и не достоверный репорт как по мне. Решил проверить так оно или нет , зафейлил тест , рестартанул еще раз и он сказал что success.
Значит где то я налажал с настройкой( Так вот может кто то сталкивался с подобной задачей или у кого то есть предложение по данной задаче. Зарание всем спасибо!

Сейчас собираю нечто подобное.
Моя реализация это в коде указывать устройства, которые необходимо запускать. Как именно - есть несколько вариантов:

  • testng.xml
  • датапровайдеры (не знаю можно ли запустить в паралель, последовательно работает отлично)

Пример можно посмотреть тут

PS. Скажите, на OSX вы не пробовали запусть тест на конкретном устройстве из списка доступных передавая device name? Столкнулся с такй проблемой, что используя GRID для android устройств не получается указать исполнять тест на каком то конкретном устройстве

1 лайк

На счет датапровайдера у меня была идея это реализовать. Тесты пока на физических устройствах не гоняю только на симуляторе.
На счет Android пока не разбирался( Может через команду adb devices брать уникальный индификатор вашего устройства , а тесте указывать что хочу ранить на этом device(его индификатор).

1 лайк