Vous pouvez utiliser un pool de données à partir d'un test Hyades en appelant l'API du pool de données à partir du code Java généré pour un test.
Le pool de données que vous souhaitez utiliser doit déjà exister.
Le code Java du test à partir duquel vous souhaitez utiliser un pool de données doit exister. Générez le code en cliquant sur le test à l'aide du bouton droit de la souris et en sélectionnant Générer.
L'extrait suivant, qui illustre l'étape 2, présente les instructions d'importation qui apparaissent au début d'un test Hyades généré. Les lignes en gras qui apparaissent à la fin correspondent aux instructions d'importation du pool de données que vous devez obligatoirement ajouter au test.
package test; import java.util.Random; import junit.extensions.RepeatedTest; import junit.framework.Test; import org.eclipse.hyades.test.common.junit.DefaultTestArbiter; import org.eclipse.hyades.test.common.junit.HyadesTestCase; import org.eclipse.hyades.test.common.junit.HyadesTestSuite; import org.eclipse.hyades.test.http.runner.HttpCookieCache; import org.eclipse.hyades.test.http.runner.HttpExecutor; import org.eclipse.hyades.test.http.runner.HttpHeader; import org.eclipse.hyades.test.http.runner.HttpRequest; import org.eclipse.hyades.test.http.runner.HttpResponse; import org.eclipse.hyades.test.http.runner.internal.util.HttpTestUtil; import org.eclipse.hyades.models.common.datapool.impl.Common_DatapoolFactoryImpl; import org.eclipse.hyades.execution.runtime.datapool.*;
L'extrait suivant, qui illustre l'étape 3, provient d'un test généré dans lequel le testeur a accédé au site www.amazon.com et recherché un ouvrage intitulé atonement.
public void c8postwww_amazon_com() throws Exception { HttpRequest request = new HttpRequest(); request.setMethod("POST"); request.setVersion("1.1"); request.setHost("www.amazon.com"); request.setPort(80); request .setAbsolutePath("/exec/obidos/search-handle-form/102-5005957-7048952"); request .setBody("url=index%3Dstripbooks=atonement=10=6");
Dans l'extrait suivant, qui illustre les étapes 4 et 5, les lignes en gras indiquent comment modifier le code du test généré afin que la colonne title du pool de données books remplace la valeur atonement. A la place de "pathname of books.datapool", situé à la ligne 2, indiquez le chemin d'accès complet au pool de données books.
public void c8postwww_amazon_com() throws Exception { IDatapoolFactory dpFactory = new Common_DatapoolFactoryImpl(); IDatapool datapool = dpFactory.load(new File("pathname of books.datapool"), false); //false - non partagé IDatapoolIterator iter = dpFactory.open(datapool, "org.eclipse.hyades.datapool.DatapoolIteratorSequentialPrivate"); iter.dpInitialize(datapool, -1); //-1 - parcourt tous les CE while (!iter.dpDone()) { HttpRequest request = new HttpRequest(); request.setMethod("POST"); request.setVersion("1.1"); request.setHost("www.amazon.com"); request.setPort(80); request .setAbsolutePath("/exec/obidos/search-handle-form/102-5005957-7048952"); // demande // .setBody("url=index%3Dstripbooks=atonement=10=6"); //nouveau String title = iter.dpCurrent().getCell("title").getStringValue(); iter.dpNext(); String body = "url=index%3Dstripbooks=" + title + " =10=6"; request.setBody(body); //fin nouveau // Lignes du test ignorées ... }// Fermeture de la boucle dans le pool de données
Rubrique parent : Utilisation de tests avec des données variables