Explication détaillée des exemples basés sur les données utilisant XML comme source de données en Java et testng
La fonction de testng est très puissante. Prenez XML comme exemple ici:
Remarque: le type de valeur de retour de DataProvider ne peut être que l'objet [] [] et iterator <objet> []
TestData.xml:
<? xml version = "1.0" Encoding = "UTF-8"?> <sata> <SestMethod1> <prenue> 1 </ Entrée> <Fut-Button> 2 </ Button> </ TestMethod1> </ TestMethod1> <NURNE> 3 </ Entrée> <Fut-Button> 4 </ Button> </ TestMethod1> <TestMethod2> <preny> 3 </ Inting> </ Button> </sestMethod2> <preny> 3 </ Inting> <fontificateur> 4 </futton> </ testMethod4> </ Data>
Utilisez DOM4J pour analyser XML, PARSERXML.Java Fichier:
package com.test; import java.io.file; import java.util.arraylist; import java.util.hashmap; import java.util.iterator; import java.util.list; import java.util.map; er; public class parserxml {public list parser3xml (string filename) {file inputxml = Nouveau fichier (FileName); map = new hashmap (); Hashmap (); n (e.getMessage ());} Liste de retour;Ensuite, la liste analysée est convertie en données objet [] [] et combinée dans @DataProvider.
Fichier testdata.java:
Package com.test; import java.io.file; import java.lang.reflect.method; import java.util.arraylist; import java.util.list; importer java.util.map; importation ouverte {tests. ata () {this.getxmldata ();} public void getXmldata () {parserxml p = new PARSERXML (); L = P.Parser3xml (nouveau fichier ("src / com / test / testdata.xml"). i ++) {map m = (map) l.get (i); String> dm = (map <string>) M.get (méthode.getName ());Ensuite, testez le fichier de test:
Fichier testdataprovider.java:
package com.test; import java.util.map; import org.testng.annotations. *; classe publique TestDataprovider étend le testdata {@test (dataprovider = "providerMethod" "ProviderMethod") public void testMethod2 (map <?,?> param) { System.out.println ("Method2 reçue:" + param.get ("entrée");} @test (dataprovider = "providerMethod") public Void TestMethod3 (Map <? ");}}Revenons en arrière et analysons le fichier XML. ICE, TestMethod2, TestMethod3 et TestMethod4 s'exécutent une fois, et le résultat est le suivant:
Méthode 1 reçu: 1Method1 Reçu: 3Method2 Reçu: 3Method3 Reçu: 3Method4 Reçu: 4Passed: TestMethod1 ({input = 1, Button = 2}) passé: TestMethod1 ({entrée = 3, Button = 4}) passé: TestMethod2 ({entrée = 3, bouton = 4}) passé: TestMethod3 ({entrée = 3, bouton = 4}) passé: TestMethod3 ({entrée = 3, Button = 4}) passé: TestMethod3 ({Epond) TestMethod4 =========================================================================================================================================================================================================================================================================. =================================================. En d'autres termes, de cette manière, il vous suffit d'écrire d'abord la fonction de test, puis de définir les données dans le fichier XML, et vous pouvez contrôler si la fonction s'exécute, le nombre d'exécutions et les données qui s'exécutent.
Ok, essayons ...
Merci d'avoir lu, j'espère que cela peut vous aider.