Привет, возникла проблему след. характера, не могу найти хорошего решения.
Есть selemium-java-testng-maven проект, который ранится на тимсити (понятно не локальном). Ранится хорошо, но проблема, что никак кроме как через testNG.xml
нужные тесты не заранить, а значит привет ИДЕ, гит и тд. Мне это подходит, но тестами пользоваться не я один буду, так что возникла необходимость сделать всем желающим доступ к запуску тестов на тимсити.
Была идея - конфигурационный файл (да тот же testNG.xml) вытягивать с нужного места, к которому у всех будет доступ, но сразу возникла проблема, что Тимсити лежит у нас на закрытом сервере, к которому никто доступа не имеет и не должен иметь, ну и админ наш не сильно горит желанием давать туда/оттуда какой либо доступ
Была идея 2 - через тимсити запуск устанавливать переменную окружения, которую прочитаем в проекте, и запущу по ней нужные пакеты. Этим и начал заниматься, пока не упорлся в след проблему:
Тесты лежат по пакетам и нужно запускать параметром определенный пакет (лучше несколько определенных пакетов, но для простоты возьмем один), и запуск будет примерно след вида:
<.package name = com.test.${variable}>
Но в тестНГ параметр > ${variable} передать я не могу, а по сему сильно застрял с этим.
Временное решение - создал 20 тестНГ.хмл для каждого пакета , через профиль считываю переменную окружения в pom.xml - иду на нужный тестнг.хмл, в которому прямо указан один пакет. Чувствую, что это решение очень даже плохое, но пока ничего лучше не придумал. Подскажите, как лучше решить проблему такого рода?
П,С, бонусная задача: через тимсити, переменные окружения передаю
env.suites = packageName
или
env.SUITES = packageName
и в каждом отдельному случае переменную в проекте я не вижу. Но когда пишу оба варианта - все отрабатывает.
xml:
<.profiles>
<.profile>
<.id>testId<./id>
<.activation>
<.property>
<.name>!env.SUITES<./name>
<./property>
<./activation>
<.properties>
<.suites>testNG<./suites>
<./properties>
<./profile>
<./profiles>