TestNG DataProvider test de lecture de données à partir de la testng.xml fichier de config?

Est-il possible pour un TestNG DataProvider pour lire les données de test de la testng.xml fichier de config? Ou est-ce irréaliste pour une raison quelconque? Je voudrais être capable de lire des données de test à partir de ce fichier à la suite du niveau et le niveau de la classe.

Donc, étant donné un testing.xml fichier comme ceci (je suis pas sûr de ce qui est réaliste ou pas), comment pourrais-je faire cela? J'ai écrit un Fournisseur à l'aide de XStream (ou Jackson) avant et donc je suis bien versé dans mon propre coutume .xml format, mais s'en tenir à la stricte format de l'testing.xml est là où je suis inquiet à ce sujet.

La suite testing.xml est évident invalide, mais j'essaie juste de montrer le genre de chose que je voudrais faire:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="TestAll"> 
  <parameter name="hubUrl" value="http://localhost:4444/wd/hub"/>
  <parameter name="reportFile" value="CustomReport.html"/>
  <test name="etsy">
    <parameter name="reportFile" value="CustomReport.html"/>
    <classes>
      <class name="qa.examples.suite.TestSearch">
        <parameter name="appUrl"  value="http://etsy.com" type="java.lang.String"/> 
        <parameter name="browser"  value="Firefox" type="java.lang.String"/>    
        <parameter name="testEnabled" value="true" type="java.lang.Boolean"/> 
        <methods>                 
          <include name="testEtsySearch"/>
            <tests>
              <test>
                <parameter name="testNum" value="1" type="java.lang.Integer"/>
                <parameter name="searchTerm" value="cell phone" type="java.lang.String"/>
                <parameter name="searchTerm" value="batteries" type="java.lang.String"/>
              </test>
              <test>
                <parameter name="testNum" value="2" type="java.lang.Integer"/>
                <parameter name="searchTerm" value="buttons" type="java.lang.String"/>
                <parameter name="searchTerm" value="metal" type="java.lang.String"/>
              </test>
            </tests>
          </include>                       
        </methods> 
      </class>
      <class name="qa.examples.suite.TestFilters" />
    </classes>
    </test> 
</suite>

Donc, c'est quelque chose comme cela possible? Si oui, comment le feriez-vous?

OriginalL'auteur djangofan | 2014-01-22