Cómo pasar de forma dinámica en nombre de la clase a la etiqueta de clase en TestNG XML

Satish Rongala:

Necesito pasar el nombre de la clase de forma dinámica en la que <Class>en TestNG XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
  <test thread-count="5" name="Test">
      <parameter name="browser" value="chrome"></parameter>
    <classes>
      <class name="testCaseWithKeywordFramework.TestCase1_Login"/>
    </classes>
  </test> <!-- Test -->

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

en el código XML anterior quiero pasar el nombre de la clase de forma dinámica, ¿Puede alguien ayudarme en esto.

cruisepandey:

Puede invocar TestNG de sus propios programas muy fácilmente:

TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] { Run2.class });
testng.addListener(tla);
testng.run();

En este ejemplo se crea un objeto TestNG y se ejecuta la clase de prueba Run2.

Para más puede hacer referencia aquí

Del mismo modo, puede invocar TestNG en un archivo testng.xml o puede crear un archivo de sí mismo testng.xml virtuales

Por ejemplo, supongamos que desea crear el siguiente archivo virtual:

<suite name="TmpSuite" >
  <test name="TmpTest" >
    <classes>
      <class name="test.failures.Child"  />
    <classes>
    </test>
</suite>

Se podría utilizar el siguiente código:

XmlSuite suite = new XmlSuite();
suite.setName("TmpSuite");
XmlTest test = new XmlTest(suite);
test.setName("TmpTest");
List<XmlClass> classes = new ArrayList<XmlClass>();
classes.add(new XmlClass("test.failures.Child"));
test.setXmlClasses(classes) ;  

Y entonces puede pasar de este XmlSuite a TestNG:

List<XmlSuite> suites = new ArrayList<XmlSuite>();
suites.add(suite);
TestNG tng = new TestNG();
tng.setXmlSuites(suites);
tng.run();

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=213810&siteId=1
Recomendado
Clasificación