jMeter - Ekstrak Nilai dari Variabel

Aug 17 2020

Saya menggunakan jMeter untuk melakukan uji stres situs web. Saya harus meneruskan nilai variabel ke Permintaan berikutnya.

Nilainya dapat dilihat sebagai berikut pada body respon:

var _data = {};
_data["_as_csrf_token"] = "64da5d341c253c2a181796d2524e57c6502d906b";
jQuery.ajaxSetup({ data: _data, type: "POST" });

Bagaimana cara menggunakan Ekstraktor Ekspresi Reguler untuk mendapatkan nilai ini?

Jawaban

UBIKLOADPACK Aug 17 2020 at 15:13

Cara termudah adalah dengan menggunakan ekstraktor batas:

Setel kiri ke:

data ["_ as_csrf_token"] = "

Dan hak untuk:

";

Jika Anda ingin menggunakan ekstraktor regex, gunakan:

data \ ["_ as_csrf_token" \] = "[^"] +? ";

DmitriT Aug 17 2020 at 23:04

Ekspresi reguler yang relevan adalah:

_data\["_as_csrf_token"\] = "(\w+)";

Demo:

  • Anda harus keluar dari karakter meta terlebih dahulu
  • \wadalah kelas karakter untuk karakter kata (alfanumerik, case insensitive)
  • + adalah repitisi

Informasi lebih lanjut:

  • Menggunakan RegEx (Regular Expression Extractor) dengan JMeter
  • Lembar Cheat Perl 5 Regex
AbhishekPuri Aug 18 2020 at 20:07

Silakan gunakan string berikut untuk mengekstrak data menggunakan ReEx Extractor.

_data\[\"_as_csrf_token\"\] \= \"(.+?)\"\;

Seperti yang ditunjukkan pada gambar di bawah ini

Jika Anda khawatir tentang data yang akan diekstraksi. Saya akan menyarankan menggunakanhttps://regexr.com/ Alasan mengapa saya lebih suka situs ini adalah karena ini membantu Anda dengan cheatsheet juga.

Pertanyaan kedua, mengapa (. +?) Mengapa tidak ada yang lain? Alasannya adalah karena itu cocok dengan setiap jenis teks di dalam polanya. Tidak perlu khawatir dengan karakter khusus.