testng / Jenkins - включить имя, параметризованный - PullRequest
1 голос
/ 11 марта 2019

Я новичок в программировании.У меня есть вопрос о testng.xml и Jenkins.Я запускаю параметризованную сборку в Jenkins со следующими параметрами:

install
-Dreportium-job-name=${JOB_NAME}
-Dreportium-job-number=${BUILD_NUMBER}
-Dreportium-tags=${myTag}
-DtestngXmlDir=src/main/resources/jenkins/test/scenarios/JPMTEST
-DtestngXmlFile=JPM1-testng_oekktest.xml
-Dtests=Galaxy_S9

My testng.xml

<test name="Galaxy_S9" enabled="true">

<parameter name="driver.capabilities.scriptName" value="Galaxy_S9"></parameter>
<parameter name="driver.capabilities.deviceName" value="1C5B539704037ECE"></parameter>
<parameter name="env.resources" value="src/main/resources/common;src/main/resources/android;src/main/resources/android/test" />
<parameter name="username" value="test.testuser9@test.ch" />
<parameter name="password" value="Abcd1234" />
    <groups>
        <run>
            <include name="@MTC-016432" />
        </run>
    </groups>
    <classes>
        <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
    </classes>
</test> 

Теперь, если я запускаю сборку Jenkins, тест запускается только для "Galaxy_S9"и это нормально.Все остальные телефоны не запускаются.

Но теперь я ищу решение, чтобы дать jenkis дополнительный параметр для

<include name="@MTC-016432" />

, чтобы запустить указанный тест.

Как я могу это сделать?Я хочу сказать Дженкинсу, какой тест запустить, например, "@ MTC-016432"

ура Жан-Пьер

1 Ответ

0 голосов
/ 12 марта 2019

Вместо установки групп в конфигурационном файле, вы можете передать его через командную строку, как показано ниже:

-Dgroups=@group1,@group2

Поскольку вы используете QAF GherkinScenarioFactory, вы также используете функцию фильтра метаданных, где вы можете передавать параметры -Dinclude=<filter> и -Dinclude=<filter>. Для работы фильтра метаданных необходимо добавить QAFMethodSelector в конфигурационный файл, как показано ниже:

<method-selectors>
    <method-selector>
        <selector-class name="com.qmetry.qaf.automation.testng.pro.QAFMethodSelector" />
    </method-selector>
</method-selectors>

С фильтром метаданных вы можете передать параметр, как показано ниже

-Dinclude={'groups':['@grp1']}

В версии qaf 2.1.14 вместо GherkinScenarioFactory вы можете использовать BDDTestFactory2 и использовать BDD2

...