테스트의 생성된 Java 코드에서 데이터풀 API에 대한 호출을 작성하여 Hyades 테스트에서 데이터풀을 사용할 수 있습니다.
사용하려는 데이터풀이 이미 있어야 합니다.
데이터풀을 사용하려는 테스트에 대한 Java 코드가 이미 있어야 합니다. 마우스 오른쪽 단추로 테스트를 클릭하고 생성을 선택하여 코드를 생성하십시오.
단계 2를 나타내는 다음 인용문은 생성된 Hyades 테스트의 시작 부분에 나타나는 가져오기 명령문을 보여줍니다. 맨 끝의 굵은체로 된 행은 테스트에 추가해야 하는 데이터풀 가져오기 명령문입니다.
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.*;
단계 3을 나타내는 다음 인용문은 테스터가 www.amazon.com으로 가서 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");
단계 4와 5를 나타내는 다음 인용문에서 굵은체로 된 행은 books 데이터풀의 title 열이 atonement 값을 대체하는 것과 같이 생성된 테스트 코드를 수정하는 방법을 보여줍니다. 두 번째 행의 "pathname of books.datapool" 대신에 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
상위 주제: 테스트에 변수 데이터 제공
이전 주제: 데이터풀 편집