將資料來源加入至 Web 效能測試
繫結資料以提供不同的值給相同的測試,例如,提供不同的值給您的表單張貼參數。
我們要使用範例 ASP.NET 應用程式。 其具有三個 .aspx 網頁:預設頁面、紅色頁面和藍色頁面。 預設頁面具有可選擇紅色或藍色的選項按鈕控制項和一個送出按鈕。 另外兩個 .aspx 頁面非常簡單。 一個具有名稱為 Red 的標籤,另一個有名稱為 Blue 的標籤。 當您在預設頁面上選取送出時,我們會顯示另外兩個之一的頁面。 您可以建立類似的應用程式,下載我們的範例,或是就以您自己的 Web 應用程式跟著做。
您的方案也應該包括瀏覽 Web 應用程式頁面的 Web 效能測試,類似於記錄及執行 Web 效能測試 [已重新導向]中建立的 ColorWebAppTest 專案。
建立 SQL 資料庫
如果您沒有 Visual Studio Ultimate,請從這裡取得。
建立 SQL 資料庫。
建立資料庫專案。
將資料表加入到資料庫專案。
將欄位加入至資料表。
發行資料庫專案。
將資料加入至欄位。
加入資料來源
加入資料來源。
選擇資料來源的類型並命名。
建立連線。
輸入連接詳細資料。
選取您要用於測試的資料表。
資料表繫結至測試。
儲存測試。
繫結資料
繫結 ColorName 欄位。
開啟 [方案總管] 中的 Local.testsettings 檔案,並選取 [每一資料來源資料列一次執行] 選項。
儲存 Web 效能測試。
使用資料執行測試
執行測試。
為每個資料列中顯示兩個回合。 回合 1 傳送 Red.aspx 頁面的要求,而回合 2 傳送 Blue.aspx 頁面的要求。
當您繫結至資料來源時,您可能違反預設回應 URL 規則。 在這種情況下,回合 2 中的錯誤是由預期原始測試記錄提供 Red.aspx 頁面的規則所造成,但是資料繫結現在會將其導向至 Blue.aspx 頁面。
藉由刪除「回應 URL」驗證規則並再次執行測試,即可修正驗證錯誤。
Web 效能測試使用資料繫結,現在測試成功。
問與答
問:我可以使用哪些資料庫做為資料來源?
**答:**您可使用下列項目:
Microsoft SQL Azure。
任何版本的 Microsoft SQL Server 2005 (含) 以後版本。
Microsoft SQL Server 資料庫檔案 (包括 SQL Express)。
Microsoft ODBC。
使用 .NET Framework Data Provider for OLE DB 的 Microsoft Access 檔案。
Oracle 7.3、8i、9i 或 10g。
問:如何使用逗號分隔值 (CSV) 文字檔做為資料來源?
**答:**可以。
建立資料夾以組織您的專案資料庫成品並加入項目。
建立文字檔
編輯文字檔並加入下列內容:
ColorId, ColorName 0,Red 1,Blue
使用繫結 SQL 資料中的步驟,但要選擇 CSV 檔案做為資料來源。
問:如果我現有的 CSV 檔未包含資料行標頭,該如何處理?
**答:**如果無法加入資料行標頭,您可以使用結構描述檔案將 CSV 檔案當成資料庫處理。
新增名為 schema.ini 的文字檔。
請編輯 schema.ini 檔案,加入描述您的資料結構之資訊。 例如,描述 CSV 檔案的結構描述檔可能像這樣:
[testdata.csv] ColNameHeader=False
將資料來源加入至測試。
如果您使用的是 schema.ini 檔案,請選擇資料庫 (而非 CSV 檔案) 做為資料來源並為其命名。
建立新連線。
選取 .NET Framework Data Provider for OLE DB。
選擇 [進階]。
針對 [提供者] 屬性,選取 [Microsoft.Jet.OLEDB.4.0],然後將 [擴充屬性] 設為 [Text;HDR=NO]。
輸入包含結構描述檔案的資料夾名稱,然後測試連接。
選取想要使用的 CSV 檔案。
在您完成後,CSV 檔案顯示為資料表。
問:如何使用 XML 檔案做為資料來源?
**答:**可以。
建立資料夾以組織您的專案資料庫成品並加入項目。
建立 XML 檔。
編輯 XML 檔案並加入您的資料:
<?xml version="1.0" encoding="utf-8" ?> <ColorData> <Color> <ColorId>0</ColorId> <ColorName>Red</ColorName> </Color> <Color> <ColorId>1</ColorId> <ColorName>Blue</ColorName> </Color> </ColorData>
使用繫結 SQL 資料中的步驟,但要選擇 XML 檔案做為資料來源。
問:我可以將資料繫結加入至使用 SOAP 的 Web 服務要求嗎?
**答:**是,您必須手動變更 SOAP XML。
在要求樹狀結構中選擇 Web 服務要求,並在 [屬性] 視窗中選擇 [字串內容] 屬性中的省略符號 (...)。
請使用下列語法,以資料繫結值取代 SOAP 主體中的值:
{{DataSourceName.TableName.ColumnName}}
例如,如果您有下列的程式碼:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckStatus xmlns="http://tempuri.org/"> <userName>string</userName> <password>string</password> <orderID>int</orderID> </CheckStatus> </soap:Body> </soap:Envelope>
您可以將其變更如下:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckStatus xmlns="http://tempuri.org/"> <userName>{{DataSourceName.Users.Name}}</userName> <password>{{DataSourceName.Users.Password}}</password> <orderID>{{DataSourceName.Orders.OrderID}}</orderID> </CheckStatus> </soap:Body> </soap:Envelope>
儲存測試。