jMeter - Trích xuất giá trị từ biến
Tôi đang sử dụng jMeter để thực hiện kiểm tra độ căng của một trang web. Tôi cần chuyển giá trị của một biến cho Yêu cầu tiếp theo.
Giá trị có thể được nhìn thấy như sau trong phần nội dung phản hồi:
var _data = {};
_data["_as_csrf_token"] = "64da5d341c253c2a181796d2524e57c6502d906b";
jQuery.ajaxSetup({ data: _data, type: "POST" });
Làm cách nào để sử dụng Trình trích xuất Cụm từ Thông dụng để nhận giá trị này?
Trả lời
Cách dễ nhất là sử dụng trình trích xuất ranh giới:
Đặt bên trái thành:
data ["_ as_csrf_token"] = "
Và quyền:
";
Nếu bạn muốn sử dụng trình giải nén regex thì hãy sử dụng:
data \ ["_ as_csrf_token" \] = "[^"] +? ";
Biểu thức chính quy có liên quan sẽ là:
_data\["_as_csrf_token"\] = "(\w+)";
Bản giới thiệu:
- bạn cần phải thoát khỏi nhân vật meta đầu tiên
\wlà một lớp ký tự cho các ký tự từ (chữ và số, không phân biệt chữ hoa chữ thường)+là sự thay đổi
Thêm thông tin:
- Sử dụng RegEx (Trình trích xuất biểu thức chính quy) với JMeter
- Perl 5 Regex Cheat tờ
Vui lòng sử dụng chuỗi sau để trích xuất dữ liệu bằng ReEx Extractor.
_data\[\"_as_csrf_token\"\] \= \"(.+?)\"\;
Như trong ảnh chụp màn hình bên dưới
Câu hỏi thứ hai, tại sao (. +?) Tại sao không phải là gì khác? Lý do là nó phù hợp với mọi loại văn bản trong mẫu. Không cần phải lo lắng về các ký tự đặc biệt.