Как читать аргументы, передаваемые через ant в testng.xml - PullRequest
0 голосов
/ 15 октября 2010

Вот сценарий:

Имеет скрипт , который вызывает ant с одним аргументом. Муравей, в свою очередь, выполняет testng.xml (файл набора), передавая тот же аргумент, а testng, в свою очередь, выполняет test при передаче того же аргумента.

В моем случае я передаю строку браузера , например, аргумент (firefox, iexplore), который будет указывать, какой браузерный тест будет выполняться. Я хочу, чтобы мои результаты теста сообщали мне, в каком браузере выполняется тест.

Я получаю аргумент из командной строки в муравье так:

...

<sysproperty key="browser" value="${browser}"/>

Я думал, что так как муравей вызывает testng.xml, я могу сделать то же самое в testng.xml

Я пошел в testng.xml и сделал что-то вроде:

<suite name="AcceptanceSuite_${browser}">
<test name="Acceptance Test_${browser}" >

Надеюсь, я никого не потерял. Не лучший для объяснения вещей, но просто нужно убрать этот аргумент в testng.xml и включить его в имя комплекта

Ответы [ 2 ]

4 голосов
/ 13 июня 2015

В файле build.xml установите DelegateCommandSystemProperties = true в теге testng и добавьте <sysproperty key="property" value="${property}"/> под тегом testng следующим образом:

<target name="execute" depends="compile">
        <testng delegateCommandSystemProperties="true">
            <sysproperty key="property" value="${property}"/>
            <xmlfileset dir="${basedir}" includes="testng.xml" />
        </testng>
    </target>

В файле testng добавьте «ключ» и «значение» в тег параметраследующим образом:

<parameter name="property" value="${property}"></parameter>

Запустите ant из командной строки и передайте значение параметра следующим образом:

ant -Dproperty=true execute

Это должно работать.

1 голос
/ 15 октября 2010

Я думаю, что он должен работать с <sysproperty>, если вы установите delegateCommandSystemProperties на true и вложите <sysproperty> в <testng>

Не уверен, что вы вложили <sysproperty>?

...