jMeter - Estrai il valore dalla variabile
Sto usando jMeter per eseguire uno stress test di un sito web. Devo passare il valore di una variabile alla prossima richiesta.
Il valore può essere visualizzato come segue nel corpo della risposta:
var _data = {};
_data["_as_csrf_token"] = "64da5d341c253c2a181796d2524e57c6502d906b";
jQuery.ajaxSetup({ data: _data, type: "POST" });
Come devo usare l'estrattore di espressioni regolari per ottenere questo valore?
Risposte
Il modo più semplice è utilizzare l'estrattore di confine:
Imposta a sinistra su:
dati ["_ as_csrf_token"] = "
E diritto a:
";
Se vuoi usare l'estrattore di espressioni regolari, usa:
dati \ ["_ as_csrf_token" \] = "[^"] +? ";
L'espressione regolare pertinente sarebbe:
_data\["_as_csrf_token"\] = "(\w+)";
Demo:

- devi prima sfuggire ai meta caratteri
\w
è una classe di caratteri per caratteri alfanumerici (alfanumerici, senza distinzione tra maiuscole e minuscole)+
è la ripetizione
Maggiori informazioni:
- Utilizzo di RegEx (Regular Expression Extractor) con JMeter
- Perl 5 Regex Cheat sheet
Utilizzare la seguente stringa per estrarre i dati utilizzando ReEx Extractor.
_data\[\"_as_csrf_token\"\] \= \"(.+?)\"\;
Come mostrato nello screenshot qui sotto

Seconda domanda, perché (. +?) Perché non qualcos'altro? Il motivo è che corrisponde a ogni tipo di testo all'interno del pattern. Non c'è bisogno di preoccuparsi dei caratteri speciali.