您可以從 Hyades 測試使用資料儲存區,方法是從測試所產生的 Java 程式碼呼叫資料儲存區 API。
您要使用的資料儲存區必須已經存在。
您要使用資料儲存區之測試的 Java 程式碼,必須已經存在。 如果要產生程式碼,請用滑鼠右鍵按一下該測試,選取產生。
下面節錄的這一段是步驟 2 的示範,它含有出現在所產生之 Hyades 測試開頭的 import 陳述式。 結尾處以粗體顯示的那幾行,就是您必須加入測試中的資料儲存區 import 陳述式。
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
母主題: 提供變數資料給測試