關於「測試變數」

測試變數是一個使用者定義的名稱/值配對,它在測試當中及測試之間儲存及參照資訊。

在測試之間共用變數

變數是宣告在測試的測試變數區段中,但變數可使用於測試當中,作為任何可替代欄位的參照。利用「測試資料來源」視圖的「測試變數」頁面來執行替代測試變數的資料。 宣告變數時會提供其預設值。也可以使用 Set Variable 陳述式來變更此值。Set Variable 陳述式是利用「測試編輯器」的「新增」及「插入」功能表加以建立。變數可設為寫在程式中的值,或是從資料來源擷取的值,例如,出現在 Set 陳述式之前的資料儲存區或參照。

如果要在測試之間共用變數,這兩個測試都必須包含相同名稱的變數,且兩個變數都必須將可見範圍選項設為這位使用者的所有測試。 當這些條件都符合,且多個測試已放置在排程中,一個測試在變數中設定的資料就可以使用於另一個測試中。

在測試之間共用資料的常見原因是為了執行資料相關性。 利用資料相關性,變數可設為來自其中一個測試之要求的回應,並使用於不同測試所執行的要求中。 假設您要測試員工資料庫。 「建立員工」測試建立員工記錄,「修改員工」測試會修改員工記錄。 當建立新記錄時,會指派記錄 ID 給它。變數可用來將「建立員工」測試的回應中的記錄 ID 傳遞至「修改員工」測試。

在不同的虛擬使用者之間不共用使用者定義變數。 只在相同虛擬使用者的不同測試之間共用變數。 此外,如果您將可見範圍設為僅這項測試,則一個測試設定的資料不可使用於另一個測試,即使這兩個測試包含相同名稱的變數亦然。

使用變數來存取資料儲存區

您可以定義變數,使它們在測試中共用資料儲存區的資料。 從資料儲存區替代 Set Variable 陳述式的值欄位,即可達成此目的。 如此一來,出現在排程中的第一個測試就可以從資料儲存區設定該變數,並與排程中的另一個測試共用它。

假設您有兩個測試都使用資料儲存區的使用者 ID 登入某應用程式。 第一個測試可設定資料儲存區的變數值,兩個測試就可以使用該變數,而不是直接使用資料儲存區。 在此情況下,兩個測試都使用資料儲存區的相同記錄。 這類似資料儲存區的 fetch-only-once-per-user(每位使用者只提取一次)行為。 不過,提取一次表示在播放期間,虛擬使用者只從資料儲存區取得一筆記錄。 即使測試是在迴圈中,而且由虛擬使用者執行數次,仍保留一筆記錄的限制。 利用使用者定義變數,虛擬使用者每次在迴圈中擷取一筆新記錄,而兩個測試可使用相同記錄。

註: 指派(設定)運算子的變數值不僅能以資料儲存區替代,還可以在變數的宣告中替代。 事實上,您可以從任何資料來源替代此指派運算子及變數值,因此也可以在測試之間共用該值。

陣列變數

您可以建立陣列變數,在一個變數中新增多個值。如果您建立了次要 HTTP 要求,可在播放期間透過自訂程式碼,在陣列變數中新增要求的完整路徑。


意見