Как передать параметр из Jenkins -> ANT -> TestNG

  1. В Jenkins идем в настройки Джоба и выставляем \»This build is parameterized\»
  2. Называем параметр \»additionalScreens\» например
  3. В ant.xml проставляем
    <property name=\"additionalScreens\" value=\"\"/>
    
  4. В ant.xml в таргете не забываем передать этот параметр в TestNG:
    <target name=\"Test.Real\" depends=\"compile\">  
            <testng outputdir=\"${testdir}\" classpathref=\"all.classpath\" haltOnFailure=\"true\" testnames=\"Buy\">  
                <xmlfileset dir=\"${basedir}\" includes=\"${testngxml}\"/>  
                <jvmarg value=\"-DadditionalScreens=${additionalScreens}\" />  
            </testng>  
    </target>
    
  5. В TestNG.xml параметр никак не фигурирует, там просто вызывается тест:
    <test verbose=\"1\" name=\"Buy\" annotations=\"JDK\">  
        <classes>  
            <class name=\"TestNG.Buy\">  
                <methods>  
                    <include name=\"shop\"/>  
                    <include name=\"Scan\"/>  
                    <include name=\"Buy\"/>  
                </methods>  
            </class>  
        </classes>  
    </test>
    
  6. В методе @BeforeClass принимаем параметр и дальше работаем с ним как хотим:
    @Parameters({ \"additionalScreens\" })  
        @BeforeClass  
        public void prepare(String additionalScreens, ITestContext context) throws Exception {  
            context.setAttribute(\"additionalScreens\", additionalScreens);  
            //......  
    }
    
  7. Запускаем Джоб в Дженкинсе и заполняем или выбираем параметр \»additionalScreens\» — он передается в тест. Это может быть, например, урл сервера, или тип проверки, и т.д.
    Не благодари!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *