1. 程式人生 > >JMeter學習(十一)WebSerivice測試計劃

JMeter學習(十一)WebSerivice測試計劃

WebSerivice測試計劃的取樣器有兩種方式:HTTP請求、SOAP/XML-RPC Request。

 

1. 測試計劃

啟動JMeter,點選測試計劃節點上,重新命名測試計劃:WebserviceTest.如下圖:

 

2. 新增執行緒組 

新增一個執行緒組,右鍵單擊測試計劃 WebserviceTest -新增 - Threads(Users) > 執行緒組。接下來,修改執行緒組的預設屬性。修改以下屬性:

   Name: Number of Users
   Number of Threads (Users): 5
   Ramp-Up Period: 5
   Loop Count:2

如下圖:

 

3. 新增配置元件

a.右鍵單擊測試計劃 WebserviceTest -新增 -配置元件 > 使用者定義的變數

名稱:User Defined Variables

點選新增,設定名稱:host,

          設定值:wsf.cdyne.com,

     設定Description:Host of Webservice. 

 

b. 右鍵單擊測試計劃 WebserviceTest -新增 -配置元件 > HTTP請求預設值,名稱:HTTP Request Defaults

  點選新增,設定伺服器名稱或IP:${host}

 

 

4. 新增取樣器

注意:這裡有兩種取樣器都可以,HTTP請求或者SOAP/XML-RPC Request

 

  • 介紹HTTP請求的做法:右鍵單擊執行緒組 Number of Users-新增 -Sampler > HTTP請求

設定如下引數:

名稱:Soap Request 

路徑:/WeatherWS/Weather.asmx

BodyData

複製程式碼

複製程式碼

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetCityForecastByZIP xmlns="http://ws.cdyne.com/WeatherWS/">
<ZIP>60601</ZIP>
</GetCityForecastByZIP>
</soap:Body>
</soap:Envelope>

複製程式碼

複製程式碼

 

  • 介紹SOAP/XML-RPC Request的做法:右鍵單擊執行緒組 Number of Users-新增 -Sampler > SOAP/XML-RPC Request

設定如下引數:

名稱:Soap Request 

URL:http://${host}/WeatherWS/Weather.asmx

BodyData

複製程式碼

複製程式碼

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetCityForecastByZIP xmlns="http://ws.cdyne.com/WeatherWS/">
<ZIP>60601</ZIP>
</GetCityForecastByZIP>
</soap:Body>
</soap:Envelope>

複製程式碼

複製程式碼

如下圖所示:

簡單講解一下Soap/XML-RPC Data的編寫:

GetCityForecastByZIP是WebService釋出的方法;

http://ws.cdyne.com/WeatherWS/是GetCityForecastByZIP所在類的域名;

ZIP是GetCityForecastByZIP類的引數名,引數型別是int;

60601是輸入的實參。

 

 

5. 新增監聽器

右鍵單擊執行緒組 Number of Users-新增 -監聽器> 察看結果樹

 

 

6. 執行此測試計劃

現在儲存的以上測試計劃 test_webservice.jmx。執行本測試計劃使用 Run > Start  選項。

 

至此,整個測試計劃就完成了。

 

注:此事例是Jmeter自帶的一個事例,待以後工作中用到的時候,再來詳細說一說。