Server Proksi HTTP masuk JMeter: Rekam Contoh Skrip
โก Ringkasan Cerdas
JMeter HTTP Proxy Server merekam aktivitas browser ke dalam skrip pengujian yang dapat digunakan kembali. Perekam berada di antara browser dan situs web, menangkap setiap permintaan ke dalam Recording Controller, dan rencana yang tersimpan diputar ulang oleh banyak pengguna virtual.

Apa JMeter Server Proksi HTTP?
The JMeter HTTP Proxy Server adalah perekam bawaan yang berada di antara browser dan situs web yang sedang diuji. Ia memantau dan merekam aktivitas pengguna saat aplikasi dijelajahi secara normal, dan mengubah setiap permintaan yang ditangkap menjadi sampler Permintaan HTTP di dalam rencana pengujian. Karena JMeter 3.0 elemen tersebut telah diberi nama Perekam Skrip Uji HTTP(S), dan kedua nama tersebut menggambarkan komponen yang sama.
Rekam pengujian Membantu penguji merekam dan memutar ulang aktivitas terhadap target pengujian. Ini adalah jenis pengujian otomatis, tetapi untuk banyak pengguna sekaligus.
Mengapa Merekam Alih-alih Membuat Naskah Secara Manual?
Alur perjalanan pengguna yang realistis di situs modern menghasilkan puluhan permintaan, masing-masing dengan header, cookie, dan parameter formulir sendiri. Typing Memasukkan semua data tersebut ke dalam sampler secara manual itu lambat dan rawan kesalahan. Perekaman menangkap lalu lintas persis yang dikirim oleh browser, yang memberikan tiga keuntungan:
- Akurasi: Urutan header, cookie, dan kolom formulir tersembunyi ditangkap persis seperti yang diterima server.
- Kecepatan: Sebuah perjalanan sepanjang sepuluh halaman membutuhkan waktu beberapa menit untuk direkam dan berjam-jam untuk ditulis secara manual.
- Cakupan: Panggilan AJAX latar belakang yang tidak terlihat di antarmuka tetap muncul dalam rekaman.
Rekaman ini merupakan titik awal, bukan hasil uji yang lengkap. Masih perlu dibersihkan, dikorelasikan, dan diparameterisasi sebelum dapat digunakan. pengujian bebanBagian-bagian di bawah ini mencakup jalur lengkap dari keadaan kosong. JMeter jendela ke skrip yang dapat diputar ulang dengan andal.
Berikut adalah peta jalan contoh praktis ini
Cara Merekam Naskah di JMeter 5.x
Rilis saat ini adalah Apache JMeter 5.6.3, diterbitkan pada 9 Januari 2024, dan ini mensyaratkan Java 8 atau lebih baru, dengan Java 17 direkomendasikan. Siapa pun yang mengikuti panduan bergambar lebih lanjut di halaman ini pada rilis tersebut tidak akan menemukan node WorkBench, karena telah dihapus di versi 5.0. Fungsionalitasnya tidak hilang; melainkan dipindahkan. Perekam sekarang ditambahkan langsung ke Rencana Pengujian dan disebut Perekam Skrip Pengujian HTTP(S).
Rute tercepat adalah menggunakan template yang sudah dikemas. Pilih File > template > Rekaman ke JMeter Menghasilkan rencana lengkap yang berisi Thread Group, HTTP Request Defaults, Recording Controller, dan perekam itu sendiri, yang sudah terhubung. Membangun struktur yang sama secara manual membutuhkan langkah-langkah di bawah ini.
- Buat kerangka rencana. Tambahkan Thread Group, lalu tambahkan Recording Controller di bawahnya. Di sinilah sampler yang direkam akan ditempatkan.
- Tambahkan perekam ke Rencana Pengujian. Klik kanan pada node Rencana Pengujian dan pilih Add > Elemen Non-Ujian > Perekam Skrip Uji HTTP(S)Ini adalah saudara dari Thread Group, bukan anak.
- Atur portnya. Port default adalah 8888. Port apa pun yang tersedia dapat digunakan, asalkan browser dikonfigurasi agar sesuai.
- Pilih Target Pengendali. Pilih Pengontrol Perekaman yang dibuat pada langkah pertama, sehingga permintaan dikelompokkan di tempat yang Anda harapkan, bukan tersebar di akar rencana.
- Add URL pola pengecualian. Pada tab Penyaringan Permintaan, kecualikan sumber daya statis dengan pola seperti .*\.(bmp|css|js|gif|ico|jpe?g|png|svg|woff2?)Hal ini menghilangkan sebagian besar pembersihan manual yang dijelaskan nanti.
- Nyalakan perekam. Klik Start di bagian atas panel perekam. JMeter menulis ApacheJMeterSaat ini, TemporaryRootCA.crt dipindahkan ke folder bin-nya, yang memungkinkan perekaman HTTPS.
- Arahkan browser ke proxy. Gunakan localhost dan port yang dipilih, lalu navigasikan aplikasi seperti biasa.
- Berhenti dan bereskan. Tekan Berhenti, hapus semua panggilan pihak ketiga yang tersisa, dan simpan paketnya.
- Lakukan validasi sebelum melakukan penskalaan. Klik kanan pada Grup Utas dan pilih MengesahkanIni menjalankan rencana tersebut sekali dengan satu thread, sehingga kegagalan akan muncul sebelum beban apa pun diterapkan.
Satu kebiasaan lagi membedakan skrip yang berfungsi dari skrip yang andal. Gunakan antarmuka grafis hanya untuk membangun dan men-debug, lalu jalankan pengujian sebenarnya dari baris perintah dengan jmeter -n -t plan.jmx -l results.jtl -e -o report, yang juga menghasilkan dasbor HTML. Perintah yang sama merupakan dasar dari pengujian terdistribusi di beberapa generator beban. Instalasi dibahas dalam JMeter petunjuk pemasangan, dan prosedur lengkapnya didokumentasikan pada Apache JMeter halaman perekam.
โ ๏ธ Catatan versi: Tangkapan layar dalam panduan di bawah ini diambil dari perangkat yang lebih lama. JMeter rilis yang masih memiliki node WorkBench. WorkBench dihapus pada JMeter 5.0. Setiap konsep masih berlaku; hanya lokasi perekam yang berubah, dan prosedur saat ini adalah yang diberikan di atas.
Langkah 1) Mengatur server Proksi HTTP
Ini adalah panduan langkah demi langkah untuk menyiapkan proxy
- Start JMeter
- Pilih Rencana Tes di pohon
- Add Grup BenangKlik kanan pada Rencana Tes dan tambahkan grup utas baru: Add > Thread (Pengguna) > Grup Benang
- Add Permintaan HTTPPilih Grup Utas; klik kanan Add > Elemen Konfigurasi > Default Permintaan HTTP
Di elemen Default Permintaan HTTP baru: Di Nama server atau IP, masukkan โgoogle.comโ. Anda harus mengosongkan bidang lainnya
- Add Pengontrol PerekamanKlik kanan pada โGrup Threadโ dan tambahkan pengontrol perekaman: Add > Pengontrol Logika > Pengontrol Perekaman
- Add Proxy Server ke WorkBench. Klik kanan pada Workbench dan tambahkan proxy http: Add > Elemen Non-Ujian > Server Proksi HTTP. Di JMeter 5.x, klik kanan Rencana Tes node sebagai gantinya dan pilih Perekam Skrip Uji HTTP(S).
- set Target pengawas di mana skrip rekaman Anda akan ditambahkan
- Start Server Proksi. Kembali ke Server Proksi HTTP, dan klik Start tombol di bagian bawah. Sekarang milikmu JMeter server proksi dimulai
- Mulai Browser Anda (saya menggunakan Firefox), pilih Alat Bantu > pilihan > Advanced > jaringan > Pengaturan > Masukkan proxy HTTP seperti gambar di bawah ini. Saat ini Firefox merilis dialog yang sama yang dicapai melalui Pengaturan > Umum > Pengaturan Jaringan.
Langkah 2) Catat aktivitas Anda
- Sekarang Luncurkan http://www.google.com di peramban web Anda (JMeter masih buka)
- Lakukan kegiatan mencari kata kunci โguru99".
- Kembali ke JMeter, di Server Proksi HTTP, klik berhenti saat selesai
- Setelah selesai merekam, Anda akan melihatnya JMeter secara otomatis membuat permintaan HTTP baru seperti gambar di bawah ini
JMeter telah mencatat permintaan pengguna ke Halaman Beranda of Google website. http://www.google.com/
Permintaan HTTP lainnya ditampilkan pada gambar di atas, Anda harus menghapusnya. Karena suatu saat JMeter juga merekam beberapa tautan iklan saat Anda mencari kata kunci di GoogleKita sebaiknya mengabaikan hal-hal tersebut dalam Rencana Pengujian kita.
- Klik File > Simpan Rencana Pengujian Anda sebagai
- Sebuah kotak dialog akan muncul > masukkan nama rencana pengujian Anda di kolom Nama File > Klik Simpan. Sekarang Rencana Pengujian Anda telah tersimpan dengan nama RecordingTestPlan.jmx
Langkah 3) Jalankan Rencana Pengujian Anda
- Pilih Grup Thread > Tambah > Pendengar > Laporan Ringkasan
- Laporan Ringkasan akan menunjukkan beberapa statika dasar
- Pilih Thread Group, masukkan informasi seperti gambar di bawah ini
Anda dapat merujuk pada artikel tersebut. JMeter Pengujian Kinerja untuk mengetahui detail tentang konfigurasi Thread Group.
- Sebelum memulai pengujian, pilih โLaporan Ringkasanโ. Saat Anda siap menjalankan pengujian, pilih Jalankan > Mulai (Ctrl+R). JMeter Aktivitas Anda akan diputar ulang sebanyak 100 kali. Selama pengujian berlangsung, statistik akan berubah hingga pengujian selesai.
Langkah 4) Simpan hasil tes Anda
- Klik Simpan Data Tabel untuk menyimpan hasil tes ke file
- Masukkan nama hasil tes dan klik Simpan. Hasil Tes di JMeter disimpan dalam format *.csv sebagai default
Unduh Rencana Tes Perekaman File
Merekam Lalu Lintas HTTPS dan Sertifikat
Hampir setiap situs sekarang menggunakan HTTPS, yang mana panduan awal sudah ada sebelum hal itu terjadi. Proxy tidak dapat membaca lalu lintas terenkripsi kecuali browser mempercayainya, jadi diperlukan satu langkah tambahan.
Saat perekam mulai beroperasi, JMeter menghasilkan sertifikat root sementara bernama ApacheJMeterTemporaryRootCA.crt di direktori bin-nya. Impor file tersebut ke browser sebagai otoritas sertifikat tepercaya, lalu mulai ulang browser. JMeter kini dapat menampilkan sertifikatnya sendiri untuk setiap situs dan mendekripsi sesi untuk direkam.
Ada tiga poin yang perlu diketahui:
- Sertifikat tersebut kedaluwarsa setelah tujuh hari. Ini disengaja. Hapus saja dan biarkan. JMeter Membuat versi baru daripada memperpanjang masa berlakunya.
- Lepaskan setelah selesai. Membiarkan sertifikat root tepercaya terpasang pada mesin yang sedang beroperasi merupakan risiko keamanan nyata, bukan sekadar teori.
- Beberapa aplikasi menolaknya. Situs yang menggunakan certificate pinning atau mutual TLS sama sekali tidak dapat direkam melalui proxy, dan skrip harus dibuat secara manual dari alat pengembang browser.
Korelasi: Membuat Naskah yang Direkam Dapat Diputar Ulang
Skrip yang direkam mereproduksi persis apa yang terjadi sekali, yang jarang terjadi pada kali kedua. Pengidentifikasi sesi, token, dan kunci yang dihasilkan yang ditangkap selama perekaman menjadi nilai mati pada saat skrip diputar ulang, dan eksekusi gagal dengan cara yang tampak seperti kesalahan aplikasi.
Korelasi adalah solusinya. A pascaprosesor seperti Ekspresi Reguler Extractor atau JSON ExtracTor menangkap nilai terbaru dari respons login, menyimpannya dalam sebuah variabel, dan permintaan selanjutnya merujuk pada variabel tersebut, bukan literal yang telah direkam.
Alur kerjanya singkat:
- Putar ulang skrip sekali dengan listener View Results Tree dan temukan permintaan pertama yang gagal.
- Bandingkan permintaan yang gagal dengan rekaman. Setiap nilai yang berbeda antara dua kali percobaan perlu dikorelasikan.
- Tambahkan mantantracUntuk mengakses respons yang menghasilkan nilai tersebut, ganti literal yang dikodekan secara langsung dengan referensi variabel.
- Tambahkan sebuah pernyataan Jadi, halaman yang mengembalikan HTTP 200 dengan pesan kesalahan tetap gagal dalam pengujian.
Skrip baru aman untuk ditingkatkan skalanya setelah dilakukan korelasi. Menjalankan perekaman tanpa korelasi pada seratus pengguna mengukur penanganan kesalahan, bukan... prestasiElemen-elemen selanjutnya dibahas di bagian selanjutnya. JMeter tutorial.
Penyelesaian masalah
Jika Anda mengalami masalah saat menjalankan skenario di atas, lakukan hal berikut:
- Periksa apakah Anda terhubung ke internet melalui proxy. Jika ya, hapus proxy tersebut.
- Buka contoh baru JMeter.
- Buka file RecordingTestPlan.jmx di JMeter.
- Klik kanan pada Workbench > Gabungkan > Pilih HTTP Proxy Server.jmx. Pada JMeter 5.x, gabungkan ke node Test Plan saja, karena WorkBench sudah tidak ada lagi.
- Klik pada Grup Thread > Laporan Ringkasan.
- Jalankan Tes.
Dua gejala tambahan menjelaskan sebagian besar kegagalan yang tersisa. Jika browser melaporkan bahwa ia tidak dapat terhubung, perekam tidak pernah dimulai, atau port yang diatur di browser tidak sesuai dengan port yang diatur di JMeterJika halaman dimuat secara normal tetapi tidak ada yang muncul di pohon, berarti lalu lintasnya adalah HTTPS dan sertifikat belum diimpor.



















