2013-02-28 22 views
6

Tôi đang sử dụng JMeter để thực hiện một số kiểm tra tải trên ứng dụng JSF của mình và tôi gặp sự cố khi chuyển ViewState dọc theo các trang. Biến ViewState không được trích xuất ở tất cả hoặc biến không được truyền dọc theo các trang.Trích xuất ViewState khi thử nghiệm JSF với JMeter

tôi đã ghi nhận bước thử nghiệm của tôi với một máy chủ proxy và đây là những gì nó trông giống như:

First GET Request

Tôi đã thêm vắt Regex trong yêu cầu GET đầu tiên. Kiểm tra regex và nó là chính xác.

First POST Request

Trong mọi yêu cầu POST tôi thay thế Xem ID Hardwired với biến tôi.

Và những gì tôi nhận được khi tôi gửi yêu cầu như sau:

Request sent

Các thông số POST là không chính xác, vì nó sẽ gửi tên của biến.

dữ liệu POST:

loginForm% 3ArequestToken = & loginForm% 3Ausername = Heller & loginForm% 3Apassword =% 21QAYxsw2% A7EDC & loginForm% 3AloginButton = Anmelden & com.sun.faces.VIEW =% 24 % 7BjsfViewState% 7D & loginForm = loginForm

Bạn có thể nói tôi đang làm gì sai ở đây không?
Cảm ơn!

Trả lời

2

Tìm thấy sự cố của tôi: regex sai, vì vậy không thể tìm thấy bất kỳ điều gì trong phản hồi. Tôi đã phải thay đổi regex. Nhận thấy nó sau khi thêm một giá trị mặc định "NOT FOUND".

2

Thông số ViewState là giá trị được mã hóa (Base64 tôi tin?) Và có thể chứa các giá trị không phù hợp nếu được chuyển trong yêu cầu GET thông qua url. Thông số URL thường được mã hóa sao cho các giá trị đặc biệt (ví dụ: dấu cách ->% 20) có thể được biểu diễn và giải mã khi yêu cầu đến máy chủ.

Vấn đề ở đây là yêu cầu sau là POST có nghĩa là các thông số không cần phải được mã hóa URL.

com.sun.faces.VIEW =% 24% 7BjsfViewState% 7D & loginForm = loginForm

trên cho thấy rằng JMeter hoặc một số quá trình khác là URL mã hóa các ViewState trong yêu cầu đó là không chính xác . Giá trị của ViewState chỉ đơn giản là được gửi như là.

+0

Các yêu cầu POST được gửi dưới dạng url được mã hóa, điều này đúng. Nhưng tôi nghĩ vấn đề là, giá trị trích xuất không được đặt trong yêu cầu, vì tôi thấy tên biến là giá trị cho com.sun.faces.VIEW và không phải giá trị thực nào được trích xuất từ ​​phản hồi của yêu cầu trước đó. –

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