WebTestRequest 是 VS 2005 Team Suite Web Test 中構建 HTTP 請求的核心類別。掌握其屬性可精準模擬真實使用者行為,編寫高可靠的效能測試腳本。
WebTestRequest request = new WebTestRequest("https://www.example.com");
| 屬性 | 用途 | 備註 |
|---|---|---|
ThinkTime | 模擬使用者思考停頓時間(秒) | 負載測試中自動插入延遲,提升真實度 |
Timeout | 請求逾時時間(秒) | 防止測試卡死,建議依業務 SLA 設定 |
ResponseTimeGoal | 回應時間目標閾值 | Load Test 報告中會統計超標比例 |
ParseDependentRequests | 是否自動解析頁面嵌入資源(CSS、圖片、JS) | 預設 true;設 false 僅請求 HTML 本身,適合 API 測試 |
QueryStringParameters | GET 參數集合 | request.QueryStringParameters.Add("key", "value", false, false);第 3 參數指定是否 URL Encode |
Body | POST 內容主體 | 需指派 FormPostHttpBody 實例,再 Add 表單欄位 |
Cookies | 攜帶 Cookie 集合 | 型別 CookieCollection,可手動注入 Session ID |
Cache | 模擬瀏覽器快取行為 | true 時送出 If-Modified-Since/ETag |
Headers | 自訂 HTTP Header | User-Agent 預設從 localtestrun.testconfig 讀取 |
var request = new WebTestRequest("https://login.example.com");
request.Method = "POST";
var body = new FormPostHttpBody();
body.FormPostParameters.Add("username", "testuser");
body.FormPostParameters.Add("password", "secret");
body.FormPostParameters.Add("submit", "登入");
request.Body = body;
PreRequest 事件動態修改參數(如關聯動態 Token)。ExtractionRule 從回應擷取資料供下一請求使用。ParseDependentRequests 可大幅降低測試代理機器資源消耗。