informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Parameter pengguna ekspresi reguler (Parameter Pengguna RegEx) adalah pra-prosesor (Pra-Prosesor) yang memungkinkan pengguna mengekstrak nilai dari data respons berdasarkan ekspresi reguler dan menerapkannya, dan meneruskan nilai ini sebagai parameter ke berikutnyapermintaan HTTP atau tempat lain yang diperlukan. Fitur ini sangat fleksibel untuk menangani konten dinamis, ID sesi, token, dll. dan merupakan komponen kunci untuk mengimplementasikan skrip pengujian otomatis.
Kami menggunakan SpringBoot untuk menulis kode antarmuka berikut
@PostMapping(value = "/login",produces = "application/json;charset=UTF-8")
public String authenticate(@RequestBody JSONObject request) {
String validUsername = "admin";
String validPassword = "password";
String response = "{"total":2,"data":[{"id":123,"name":"John Doe","email":"[email protected]","phone":"123-456-7890","address":{"street":"123 Main St","city":"New York","state":"NY","zip":"10001"},"interests":["sports","music","travel"]},{"id":456,"name":"Jane Smith","email":"[email protected]","phone":"987-654-3210","address":{"street":"456 Elm St","city":"Los Angeles","state":"CA","zip":"90001"},"interests":["reading","cooking","hiking"]}]}";
if (request.getString("username").equals(validUsername) && request.getString("password").equals(validPassword)) {
return response;
} else {
return response;
}
}
Lalu kita tulis script berikut ini
Grup Thread: Pertahankan Default
Permintaan HTTP 1: protokol http, nama server atau IP127.0.0.1, nomor port 8091, metode POST, jalur/login, pengkodean konten utf-8, data isi pesan
{
"username": "admin",
"password": "password"
}
Ekstraksi ekspresi reguler器:设置的参数为引用名称var,正则表达式"id"😦.?),"nama":"(.?)", "email" (dapat diketahui dari isi kode contoh), dan tujuan kita adalah mengekstrak id dan nama, nomor yang cocok disetel ke -1, dan nilai defaultnya adalah NotFound
Pada titik ini pertama-tama kita dapat menonaktifkan permintaan HTTP 2 dan parameter pengguna ekspresi reguler, kemudian menjalankan skrip dan melihat contoh debug dari pohon hasil. Anda dapat melihat hasil berikut di Badan Respons dari data respons.
Variabel JMeter:
JMeterThread.sampel_terakhir_ok=salah
Paket JMeterThread=org.apache.jmeter.threads.SamplePackage@4fa1cf1
MULAI.HMS=165132
MULAI.MS=1720515092259
MULAI.YMD=20240709
MULAI UJI.MS=1720578466746
_jm__threadgroup__idx=0
_jmeter.U_T=grup benang 1-1
var=TidakDitemukan
var_1=
var_1_g=2
var_1_g0=“id”:123,”nama”:“John Doe”,”email”
variabel_1_g1=123
var_1_g2=John Doe
var_2=
var_2_g=2
var_2_g0=“id”:456,”nama”:“Jane Smith”,”email”
variabel_2_g1=456
var_2_g2=Jane Smith
var_nomor_pertandingan=2
Dari konten di atas, kita dapat melihat nilai variabel var yang diekstraksi dengan ekspresi reguler yang sesuai. Saat ini, kita dapat terus memverifikasi penerapan praprosesor parameter pengguna ekspresi reguler dan terus menyetel parameter komponen lainnya.
Permintaan HTTP 2: protokol http, nama server atau IP127.0.0.1, nomor port 8091, metode POST, jalur/login, pengkodean konten utf-8, lalu tambahkan dua parameter ke parameter, isi nama masing-masing 123, 456, jangan gunakan sekarang Terlepas dari arti spesifiknya, mari kita coba dulu.
Parameter pengguna ekspresi reguler: Nama Referensi Ekspresi Reguler diatur ke var, nama parameter di sini harus konsisten dengan nama parameter dalam ekspresi reguler di atas, Nama parameter nomor grup regexp diatur ke 1, Nilai parameter nomor grup regex diatur ke 2, kenapa Bagaimana cara mengaturnya seperti ini? Kita dapat memahaminya seperti ini. Bukankah kita menetapkan 123 dan 456 dalam permintaan HTTP 2? Menyetel nama Parameter nomor grup regexp ke 1 dapat dipahami sebagai mengambil parameter var_1_g1 dan var_2_g1 di parameter var dalam permintaan HTTP 2 Setelah parameter konsisten dengan parameter di sini, kita akan menyesuaikan hubungan antara parameter dan data, membuka jalan bagi Nilai parameter nomor grup regex disetel ke 2. Kita dapat memahami dengan baik bahwa ketika nilai Parameter nomor grup regex diatur ke 2, yang diperoleh Parameternya menjadi var_1_g2 dan var_2_g2.
Langkah selanjutnya adalah memverifikasi hasil kami. Jalankan skrip untuk melihat data posting Badan Permintaan dalam permintaan HTTP 2 di pohon hasil. Secara keseluruhan, permintaan kami gagal, tetapi tidak masalah untuk memverifikasi. Hasilnya tidak relevan
POSTING http://127.0.0.1:8091/login
Data POST:
123=John+Doe&456=Jane+Smith
[tanpa cookie]
Dari data POST di atas, Anda dapat melihat bahwa data terkait telah tercermin dalam permintaan.
● Cakupan: Parameter pengguna ekspresi reguler hanya berlaku pada permintaan HTTP atau sampler berikut. Jika Anda perlu menerapkannya secara global, harap pertimbangkan untuk menggunakan "ekstrak ekspresi reguler" bersama dengan variabel.
● Debugging: Gunakan pendengar "Lihat Pohon Hasil" untuk memeriksa kecocokan ekspresi reguler guna memastikan ekstraksi data yang benar.
Parameter pengguna ekspresi reguler adalah fitur canggih di JMeter, yang menyederhanakan pemrosesan data dinamis dan meningkatkan fleksibilitas dan otomatisasi skrip pengujian. Jika dikonfigurasi dan dimanfaatkan dengan benar, fungsi ini dapat secara efektif menangani kebutuhan pengujian kinerja sistem yang kompleks.