Puede utilizar una agrupación de datos desde una prueba Hyades efectuando llamadas a la API de agrupación de datos desde código Java generado de la prueba.
La agrupación de datos utilizada debe existir previamente.
También debe existir el código Java de la prueba desde la que va a utilizar una agrupación de datos. Genere el código pulsando la prueba con el botón derecho del ratón y seleccionando Generar.
El siguiente fragmento de código, que ilustra el paso 2, muestra las sentencias import que aparecen al principio de una prueba Hyades generada. Las líneas en negrita del final corresponden a las sentencias import de la agrupación de datos que debe añadir a la prueba.
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.*;
El siguiente fragmento de código, que ilustra el paso 3, se ha tomado de una prueba generada en la que el comprobador se ha dirigido a www.amazon.com y ha buscado un libro llamado 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");
En el siguiente fragmento de código, que ilustra los pasos 4 y 5, las líneas en negrita muestran cómo modificar el código de prueba generado para que una columna llamada title de una agrupación de datos llamada books sustituya el valor atonement. En la segunda línea, en lugar de "nombre de vía de acceso de books.datapool", especifique el nombre de vía de acceso totalmente calificado de la agrupación de datos 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
Tema padre: Suministrar pruebas con datos variables