2012-06-28 19 views
7

Tôi phát triển một máy chủ còn lại, và tôi đặt nó để chạy trong localhost, và tôi đang cố gắng để thực hiện các bài kiểm tra với JMeter, gửi các yêu cầu bài viết và được (phụ thuộc của phương pháp được gọi).làm thế nào để gửi các thông số ứng dụng/x-www-form-urlencoded đến một RestServer với JMeter?

Tôi đã gửi tới máy chủ Rest và nhận kết quả với JMeter trong các yêu cầu bài đăng đơn giản, nhận yêu cầu, gửi tệp có bài đăng và gửi Json bằng bài đăng.

Nhưng tôi không biết cách gửi đối tượng Mã-UrlEncoded tới máy chủ. Máy chủ Rest Rest của tôi tiêu thụ "application/x-www-form-urlencoded", và tôi cần gửi ba tham số String.

Tồn tại một số cách để đặt MimeType cho mọi thông số và thực hiện kiểm tra?

Tôi đang sử dụng Jmeter 2,7

  • Cập nhật -

tôi giải quyết điều này bằng cách vô hiệu hóa "sử dụng multipart/form-data cho bưu chính, và cho phép "chuyển hướng tự động" thay vì" làm theo Các thông số tôi đặt bình thường trong bảng "Gửi các tham số với Yêu cầu" với từng tên tương ứng.

Trả lời

2

Bạn đã cố gắng lưu thử nghiệm của mình bằng cách sử dụng BadBoy hoặc JMeter Proxy để xem ứng dụng của bạn thực sự gửi gì?

Để xem điều gì xảy ra dưới mui xe, bạn cũng có thể sử dụng FireBug nếu bạn đang sử dụng FireFox hoặc Ctrl+Shift+i nếu bạn đang sử dụng Chrome.

8

Để gửi tham số biểu mẫu dưới dạng ứng dụng/x-www-form-urlencoded, hãy thêm thông số tiêu đề Kiểu nội dung có ứng dụng giá trị/x-www-form-urlencoded.

Các bước sau đây là aplicable cho Jmeter 2.3.4

  1. Thêm một Header quản lý HTTP dưới mục Đề nghị http của bạn.
  2. Thêm thông số mới vào Trình quản lý tiêu đề HTTP có tên Loại nội dung và ứng dụng giá trị/x-www-form-urlencoded.
  3. Bỏ chọn "Sử dụng multipart/form-data cho HTTP POST" của yêu cầu HTTP.
  4. Bỏ chọn "Mã hóa?" của mỗi thông số yêu cầu (không cần thiết).
  5. giữ hộp văn bản "Nội dung mã hóa:" của yêu cầu HTTP dưới dạng trống.

    Điều này sẽ không hoạt động đối với yêu cầu PUT. Để yêu cầu đưa thêm tham số làm tham số đường dẫn và đặt tiêu đề Kiểu nội dung thì Jmeter sẽ tự thực hiện.

-1

theo bước chính xác đề cập tôi vẫn thấy một ngoại lệ ném

mã phản hồi: Không mã phản hồi HTTP: java.nio.charset.IllegalCharsetNameException Response message: thông điệp HTTP response Non: application/x-www-form-urlencoded

java.nio.charset.IllegalCharsetNameException: application/x-www-form-urlencoded 
    at java.nio.charset.Charset.checkName(Charset.java:315) 
    at java.nio.charset.Charset.lookup2(Charset.java:484) 
    at java.nio.charset.Charset.lookup(Charset.java:464) 
    at java.nio.charset.Charset.forName(Charset.java:528) 
    at org.apache.http.entity.ContentType.create(ContentType.java:210) 
    at org.apache.http.entity.StringEntity.<init>(StringEntity.java:116) 
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sendPostData(HTTPHC4Impl.java:1340) 
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.handleMethod(HTTPHC4Impl.java:592) 
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:409) 
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74) 
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1166) 
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1155) 
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:475) 
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:418) 
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249) 
    at java.lang.Thread.run(Thread.java:745) 
+0

Nó hoạt động sau khi tôi đã nâng cấp từ JMeter 3.1 lên 3.2 –

+0

Đây không phải là câu trả lời cho câu hỏi trong tầm tay. Hãy thực hiện việc này để trò chuyện hoặc đăng câu hỏi mới đề cập đến câu hỏi này. – jdv

+0

Đó là câu trả lời không phải là số –

2

Đây là giải pháp cho HTTP POST với thử nghiệm x-www-form-urlencoded với jmeter. Bạn chỉ cần folllow như thế này. enter image description here

enter image description here

enter image description here

Đến Thread Group -> Thêm người nghe -> Lần quả trong bảng, Xem kết quả Tree. Để xem quá trình phản hồi.

0

IllegalCharsetNameException sẽ ngay lập tức sau khi bạn thêm loại nội dung bắt buộc trong Trình quản lý tiêu đề HTTP cho yêu cầu HTTP.

Hy vọng điều này sẽ hữu ích.

Các vấn đề liên quan