2012-11-20 30 views
3

我想測試一個Java Servlet的,其獲取從歸檔數據庫記錄。JMeter的 - 故障發送具有POST可變HTTP請求?

該servlet的工作原理如下:

  • 1 - 讀入後的變量從HTTP標頭
  • 2,使用變量來查詢數據庫
  • 3 - 返回XML

我有設置一個測試,我要斷火用HTTP POST變量請求但測試不工作,得到錯誤的J米。

截圖1 - 顯示測試 enter image description here

截圖2的結構 - 顯示CSV文件我從 enter image description here

我已經把CSV文件相同的文件夾讀出我的測試計劃保存在!

截圖3 - 顯示HTTP請求 enter image description here

這是誤差輸出:

主題名稱:線程組1-1採樣啓動:二零一二年十一月二十零日10 :35:27 GMT 加載時間:0延遲:0字節大小:1113標頭大小的字節數:0 身體大小的字節數:1113採樣計數:1個錯誤計數:1響應碼: 非HTTP響應代碼:JA va.net.URISyntaxException響應消息: 非HTTP響應消息:在索引13預期閉合支架,用於IPv6地址 : http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/

響應頭:

HTTPSampleResult字段:的ContentType:DataEncoding:空

POST請求

POST http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/ 

POST data: 


[no cookies] 

返回的數據

java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 13: http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/ 
     at java.net.URI$Parser.fail(Unknown Source) 
     at java.net.URI$Parser.failExpecting(Unknown Source) 
     at java.net.URI$Parser.parseServer(Unknown Source) 
     at java.net.URI$Parser.parseAuthority(Unknown Source) 
     at java.net.URI$Parser.parseHierarchical(Unknown Source) 
     at java.net.URI$Parser.parse(Unknown Source) 
     at java.net.URI.<init>(Unknown Source) 
     at java.net.URL.toURI(Unknown Source) 
     at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:232) 
     at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62) 
     at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1075) 
     at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1064) 
     at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:426) 
     at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255) 
     at java.lang.Thread.run(Unknown Source) 

請幫幫忙!

感謝

回答

15

從HTTP請求取樣器的服務器名稱/ IP字段刪除http://(這是指向HTTP Request fields description)。

查找到您的生成POST請求以上描述:

POST Request 
POST http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/ 

配置您的HTTP請求的,而不是執行以下操作:

Server Name: sophos1.testserver.co.uk 
Path: /servlet/archive 
Implementation: Java 
+0

謝謝,那麼JAVA,HTTP3.1和HTTP4有什麼區別。我應該總是使用JAVA來保證安全嗎? – kaleeway

+0

現在它的工作,但是在郵政標題它的POST數據: ** customerid = $ {id} ** – kaleeway

+0

1.看看[HTTP請求描述](http://jmeter.apache.org/usermanual /component_reference.html#HTTP_Request) - 每種實施類型都有詳細的說明。使用Java實現不是規則,但在負載測試場景中,HTTP4的使用會導致內存泄漏問題。 –

0

檢查ServerNameIP字段中是否有空格。

這給了我這個錯誤:

響應消息:非HTTP響應消息:非法字符 權威索引7:

當多餘的空格在開始進行修整,它的工作好。