Как удалить определенный тег из testNG xml программно - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь запустить testng-failed.xml, сгенерированный при первом запуске, программным способом. В сгенерированном xml есть тег выбора метода (beanshell scripting), который я использовал в своем первом запуске.

Тот же селектор методов также появляется в testng-failed.xml. Так что, когда я запускаю testng-failed.xml, он не дает правильного вывода. Он выполняется в соответствии с конфигурацией оболочки компонента и игнорирует тег внутри классов.

TestNG testNG = new TestNG();
List<String> failedXMLsList = new ArrayList<String>();
failedXMLsList.add(result_Dir + "/testng_results/run_" + prevRunCount + "/testng-failed.xml");
                    testNG.setTestSuites(failedXMLsList);
testNG.run();

Ошибка XML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="1" name="Failed suite [TestSuite]" parallel="methods">

  <test thread-count="1" name="TestSet(failed)" parallel="methods">
    <method-selectors>
      <method-selector>
        <script language="BeanShell">
          <![CDATA[String module=method.getAnnotation(org.comp.Runner1.TestDetails.class).module();String input="[case, customer]";return input.contains(module)]]>
        </script>
      </method-selector>
    </method-selectors>
    <classes>
      <class name="org.comp.tests.Case.Test2">
        <methods>
          <include name="Method2"/>
        </methods>
      </class> 
    </classes>
  </test> 
</suite> 

Конфигурация сверху - выполняет все тесты из класса (org.comp.tests.Case.Test2), который имеет регистр модуля и клиента.

Но я не хочу, чтобы все выполнялись, поскольку другие уже прошли первый запуск, кроме метода 2.

Как мне запустить только Method2?

Если мы удалим тег из xml, будет выполнен Method2. Так или иначе, я должен сказать testNG игнорировать

Не уверен, как достичь этого программно из физического testng-failed.xml, присутствующего на жестком диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...