2017-02-15 4 views
-1

У меня есть следующий XML-файл testNg. Я хотел бы запустить Test1, а не Test2. Как мне это сделать? Я попытался исключить методы Test2, используя ключевое слово «исключить». Но, похоже, это не работает. Я не могу вносить изменения в фактический код. К сожалению, это запрещено. Все, что я могу сделать, это внести изменения в этот XML и запустить тесты. Есть ли какой-либо способ, с помощью которого я могу игнорировать Test2, пока все еще удается запустить Test1? Я ищу более элегантный способ, чем комментировать код.Исключить тест в testNg

<?xml version="1.0" encoding="UTF-8"?> 
<suite name="Suite" parallel="false"> 
<parameter name="xxx" value="yyy" /> 
<parameter name="zzz" value="aaa" /> 
<parameter name="user" value="1" /> 

<test name="Test1"> 
    <parameter name="browser" value="Chrome" /> 
    <define name = "regression"> 
      <include name = "spot" /> 
      <include name = "sanity" /> 
     </define> 
    <groups> 
     <run> 
      <include name="regression" /> 
     </run> 
    </groups> 
     <classes> 
      <class name="class2" /> 
      <method> 
       <include name="method1" /> 
       <include name="method2" /> 
      </method> 
     </classes> 
</test> 

<test name="Test2"> 
    <parameter name="browser" value="Firefox" /> 
     <define name = "regression"> 
      <include name = "spot" /> 
      <include name = "sanity" /> 
     </define> 
    <groups> 
     <run> 
      <include name="spot" /> 
      <exclude name="sanity" /> 
     </run> 
    </groups> 
     <classes> 
      <class name="class2" /> 
      <method> 
       <include name="method1" /> 
       <include name="method2" /> 
      </method> 
     </classes> 
</test> 



</suite> <!-- Suite --> 

ответ

0

В test2 заменить включают исключить во всех областях

делая это, вы будете исключать, что поля или методы из вашего кода

+0

Я попытался в том числе 'исключить' для метода s. Но, похоже, это не работает. – zeroth

+0

@zeroth Допуск на работоспособность в тесте 2 –

+0

Благодарим за указание @rishit_s. Методы (метод 1 и меход 2) были включены в группу «пятно». Итак, я думаю, что «включить» в «пятно» переопределяло «исключение» в именах методов. – zeroth

0

Если вы не хотите запускать <test name="Test2">, просто удалите его из номера.

Идея файла xml suite определяет выполнение. Похоже, у вас много определений прогона, поэтому у вас должно быть много файлов пакета. Если вы хотите поделиться вещи между ванной файлов, вы можете использовать <suite-file> который, как "импорт": http://testng.org/testng-1.0.dtd.php

Test1-suite.xml

<?xml version="1.0" encoding="UTF-8"?> 
<suite name="Suite" parallel="false"> 
    <parameter name="xxx" value="yyy" /> 
    <parameter name="zzz" value="aaa" /> 
    <parameter name="user" value="1" /> 

    <test name="Test1"> 
     <parameter name="browser" value="Chrome" /> 
     <define name = "regression"> 
      <include name = "spot" /> 
      <include name = "sanity" /> 
     </define> 
     <groups> 
      <run> 
       <include name="regression" /> 
      </run> 
     </groups> 
     <classes> 
      <class name="class2" /> 
      <method> 
       <include name="method1" /> 
       <include name="method2" /> 
      </method> 
     </classes> 
    </test> 
</suite> 

И-люкс. XML

<?xml version="1.0" encoding="UTF-8"?> 
<suite name="Suite" parallel="false"> 
    <suite-files> 
     <suite-file>Test1-suite.xml</suite-file> 
    </suite-files> 
    <test name="Test2"> 
     <parameter name="browser" value="Firefox" /> 
      <define name = "regression"> 
       <include name = "spot" /> 
       <include name = "sanity" /> 
      </define> 
     <groups> 
      <run> 
       <include name="spot" /> 
       <exclude name="sanity" /> 
      </run> 
     </groups> 
     <classes> 
      <class name="class2" /> 
      <method> 
       <include name="method1" /> 
       <include name="method2" /> 
      </method> 
     </classes> 
    </test> 
</suite>