È possibile utilizzare un pool di dati da una verifica Hyades eseguendo chiamate all'API del pool di dati da un codice Java generato della verifica.
Il pool di dati che si desidera utilizzare deve esistere già.
Il codice Java per la verifica dal quale si desidera utilizzare un pool di dati deve esistere. Generare il codice facendo clic con il tasto destro del mouse sulla verifica e selezionando Genera.
Il seguente estratto, che illustra il passo 2, mostra le istruzioni di importazione all'inizio di una verifica Hyades generata. Le righe in grassetto alla fine sono le istruzioni di importazione del pool di dati da aggiungere alla verifica.
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.*;
Il seguente estratto, che illustra il passo 3, è stato estrapolato da una verifica in cui il tester ha visitato il sito www.amazon.com e ha cercato un libro intitolato 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");
Nel seguente estratto, che illustra i passi 4 e 5, le righe in grassetto mostrano come modificare il codice della verifica generata in modo che la colonna title nel pool di dati books sostituisca il valore atonement. Al posto di "pathname of books.datapool" nella seconda riga, immettere il nome percorso completo del pool di dati 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 - nonshared IDatapoolIterator iter = dpFactory.open(datapool, "org.eclipse.hyades.datapool.DatapoolIteratorSequentialPrivate"); iter.dpInitialize(datapool, -1); //-1 - go through all ECs 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"); // request // .setBody("url=index%3Dstripbooks=atonement=10=6"); //new String title = iter.dpCurrent().getCell("title").getStringValue(); iter.dpNext(); String body = "url=index%3Dstripbooks=" + title + " =10=6"; request.setBody(body); //end new // Lines from test ommitted ... }// Close loop through datapool
Argomento principale: Verifiche con dati variabili