新增手動和動態驗證點

除了在記錄期間指定的驗證點,您也可以將新的驗證點納入 Functional Tester Script 中。Scripting 手動和動態驗證點可讓您指定資料,以比對不存在測試物件對映中的物件。不過,資料必須是 value-class 形式。

vpManual 方法和 vpDynamic 方法而言, 如需驗證點名稱和資料格式限制的相關資訊, 請參閱 Functional Tester API 參考手冊中的 IFtVerificationPoint 的項目。

手動驗證點

當您自行建立驗證點的資料且想要比較資料時,手動驗證點會很有用。例如,資料可能是計算結果或來自外部來源,例如資料庫。

手動驗證點物件是以 vpManual 方法來建構。呼叫此方法時,您必須在 performTest 執行之前提供資料。(performTest 方法會儲存您提供的資料,在有基準線的情況下進行比較,然後將結果寫入日誌。) vpManual 方法有兩種簽章:

IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object 
actual)


IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object 
expected, java.lang.Object actual)

vpManual 的第一種形式利用驗證點的名稱和實際資料來比對現有的基準線,或用來建立基準線(如果基準線不存在)。請注意,此值有可能是 null。相較於 Script,vpName 必須是唯一的。例如:

vpManual ("manual1", "The rain in Spain").performTest();

此方法的第二種形式多一個參數,可指定要用來比對實際資料的預期資料。預期資料或實際資料皆可能為空值。例如:

vpManual "manual1", "The rain in Spain", "The Rain in
Spain").performTest();

在此範例中,資料不相符。performTest 方法會將驗證點失敗訊息記錄在日誌中。

動態驗證點

如果 TestObject 未對映, 也不是 Functional Tester 通常會測試的對象,例如,不是測試中應用程式的物件,此時,動態驗證點就非常有用。

vpDynamic 方法會建構動態驗證點。動態驗證點會在下次重播 Script 時呈現適當的使用者介面。使用者可以插入 Script 指定的物件上所測試的驗證點資料。如此,在記錄驗證點之前,使用者不必手動將測試執行到適當的狀態。vpDynamic 方法有兩種簽章:

IFtVerificationPoint vpDynamic (java.lang.String vpName)

IFtVerificationPoint vpDynamic (java.lang.String vpName, TestObject
objectUnderTest)

vpDynamic 方法的第一種形式需要唯一的(相較於 Script)驗證點名稱。下次重播 Script 時會出現「記錄驗證點和動作」精靈。使用者可以為後續的測試指定 TestObject 和基準線資料。Script 必須以互動模式來執行。例如:

vpDynamic("dynamic1").performTest();

vpDynamic 方法的另一種形式需要指定 TestObject。例如:

vpDynamic "dynamic1", AnAWTButtonButton()).performTest();

第一次重播時會出現已修改的 UI(不顯示 TestObject 階層),供指定基準線的資料值。雖然指定的 TestObject 不一定來自測試物件對映,但始終必須是相同的物件,結果才有意義。

使用這些方法時常犯的錯誤是省略 performTest 方法。雖然合法且編譯時不會有警告,但在 Script 執行時不會發生值得注意的動作。例如:

vpDynamic("test1", AnAWTButtonButton()); //錯誤。沒有作用。

意見
(C) Copyright IBM Corporation 2000, 2007. All Rights Reserved.