Visual Studio的Web Performance Test提取規則詳解(1)


 

總結

Visual Studio的Web Performance Test是基於HTTP協議層的,它不依賴於瀏覽器,通過直接接收,發送HTTP包來和Web服務器交互。Web Performance Test發送和接收的一系列請求和響應之間存在相關性,例如,用戶登錄后,SID被傳遞給客戶端,下一次請求時,需要把SID發送到服務器。因此,Web Perfomance Test 定義了多種提取規則,幫助從服務器響應中提取信息,用於之后的請求。或者保存起來,作為測試結果的一部分。

 

Web Performance Test提供多種提取規則,以下表格來自MSDN

提取規則的類型 說明
Selected Option 提取列表或組合框中的選定文本。
Tag Inner Text 從指定的 HTML 標記中提取內部文本。
Extract Attribute Value 從指定的 HTML 標記中提取特性的值。 有關以下內容的更多信息使用提取特性值規則的更多信息,請參見演練:向 Web 性能測試添加驗證規則和提取規則。
Extract Form Field 提取響應中指定窗體字段的值。
Extract HTTP Header 提取 HTTP 標頭的值。
Extract Regular Expression 從與正則表達式相匹配的響應中提取文本。
Extract Text 從響應中提取文本。
Extract Hidden Fields 從響應中提取所有的隱藏字段。

 

如何添加提取規則

在完成Web Performance Test錄制后(Visual Studio進行Web性能測試系列有提到),右鍵點擊一條記錄,選擇 “Add Extraction Rule”:

image

 

“Add Extraction Rule”對話框將被打開:

image

然后,我們可以通過完成其屬性的方式來添加規則。

 

那么,怎么如何知道從哪里提取參數,要提取哪些參數呢?我們前面講過,從Web請求的響應中提取。 錄制完成后,我們需要先運行測試一遍,然后,我們查看測試結果:

image

打開Reponse標簽,我們可以看到HTTP響應的內容,包括Headers和Body,從中,我們可以觀察需要提取哪些參數,作為接下來的請求或者結果分析使用。

 

本系列的第一部分我們先介紹“Extract Hidden Fields”規則。

 

Extract Hidden Fields規則

“Extract Hidden Fields”是最重要的一條規則,因為提交的請求中許多重要的表單字段都是保存在Hidden Fields中的,例如asp.net的“__VIEWSTATE”等。

image

 

自動抽取與綁定

在默認配置下,Web Performance Test將自動添加“Extract Hidden Fields”規則,並且自動綁定提取的參數到請求上。我們可以通過Tools –> Options –> Test Tools –> Web Test中的“Automatically extract and bind hidden fields”來配置是否要自動抽取和綁定隱藏的字段。

image

 

手動添加規則

雖然我們可以通過VS自動添加該規則,但是我們還是來看看如何手動添加它:

image

 

該規則只有3個屬性:

Context Parameter Name:參數名,我們可以簡單的命名為“1”,那么實際的參數名為“$HIDDEN1”。

Required:當Required為True時,如果沒有抽取到任何隱藏字段,抽取規則失敗。

Html Decode:指示在放入 Web 測試上下文中之前提取的值是否應進行 HTML 解碼。

 

手動綁定

在手動添加了“Extract Hidden Field”規則后,我們在需要把提取的參數綁定到請求的post或get參數中。

選擇”QueryString Parameters”或者”Form Post Parameters”中的一個參數,右鍵點擊,選擇Properties

image

 

在Properties面板中,把Value值從錄制產生的硬編碼替換為{{$HIDDEN1.dsh}},dsh為隱藏字段的字段名。

image

 

本文由知平軟件劉斌華原創,轉載請注明出處。

知平軟件致力於移動平台自動化測試技術的研究,我們希望通過向社區貢獻知識和開源項目,來促進行業和自身的發展。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM