2012-02-23 49 views
8

Tôi chỉ đang cố gắng trích xuất dữ liệu trả lời json bằng cách sử dụng jmeter nhưng không thể làm như vậy.
Tôi nhận được một cái gì đó như {"authorizationToken":"abcdef"}.
Tôi đang cố gắng để có được authorizationToken nhưng không thể có được điều này.cách trích xuất dữ liệu phản hồi json trong jmeter bằng cách sử dụng trình trích xuất biểu thức chính quy?

Có ai giúp tôi làm việc này không?

Trả lời

14

Có phải authorizationToken xuất hiện duy nhất để phản hồi (chỉ xuất hiện một lần)?

Nếu nó chỉ đơn giản là bạn có thể sử dụng Regular Expression Extractor thêm vào Yêu cầu HTTP trả về phản ứng json, với regex như sau:

 
HTTP Request 
    Regular Expression Extractor 
    Reference Name: authToken 
    Regular Expression: "authorizationToken":"(.+?)" 
    Template: $1$ 
    Match No.: 1 

và tham khảo giá trị thêm chiết xuất như ${authToken}.


Nhưng nếu trường hợp của bạn là phức tạp hơn và có nhiều lần xuất hiện của authorizationToken để đáp ứng json và bạn phải giải nén một bê tông bạn có thể sử dụng ví dụ BeanShell PostProcessor/BSF PostProcessor được thêm vào cùng một Yêu cầu HTTP để trích xuất giá trị với mã beanshell + json processing library.

Nếu không - giải pháp đầu tiên ở trên sẽ hữu ích.


UPDATE:

Tại thời điểm này cách thoải mái nhất để xử lý phản ứng JSON có vẻ là tùy chỉnh JSON utils cho jmeter (JSON Đường dẫn Assertion, JSON Đường dẫn Extractor, JSON Formatter) mà cũng là một phần của Jmeter Plugins.

Trong trường hợp cụ thể này, bạn có thể sử dụng JSON Path Extractor.

+0

Cảm ơn Alies. Thực ra tôi đã xác định cùng biến "AUTHTOKEN" trong biến do người dùng xác định. Đó là lỗi gây ra. Tôi đã xóa nó và nó hoạt động tốt. – Hitendra

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