Saya mencari alat untuk menguji situs web dari baris perintah Linux.
Dari output, saya perlu tahu respon http (kode status) tetapi juga menentukan waktu yang diperlukan untuk mengunduh berbagai elemen situs.
Terima kasih sebelumnya.
linux
command-line-interface
monitoring
Embreau
sumber
sumber
Jawaban:
Anda dapat mencoba
wget
dengan-p
opsi:Ini akan memberi tahu Anda berapa lama untuk mengunduh setiap elemen dan kode pengembalian untuk setiap permintaan.
sumber
wget -p URL -O /dev/null
Silakan lihat Tolok Ukur Apache:
Tolok Ukur Apache
Ini akan memberi Anda gambaran tentang kinerja halaman Anda.
sumber
Anda mungkin ingin melihat opsi berikut
curl
:--write-out
- Menampilkan salah satu dari beberapa variabel terkait waktu--trace-time
- Melampirkan stempel waktu untuk setiap jejak atau garis bertanda--verbose
--include
- (HTTP) Sertakan HTTP-header di output.--trace-ascii <file>
- Mengaktifkan dump jejak penuh dari semua data yang masuk dan keluar, termasuk informasi deskriptifDan opsi berikut
wget
:--timestamping
- Nyalakan injakan waktusumber
curl --trace-ascii <file> --trace-time -o /dev/null <url>
persis apa yang saya butuhkan. Terima kasih!Selenium dan Curl adalah pilihan yang baik tergantung pada apa tujuan Anda. Juga, sebuah utilitas yang saya sukai sedikit
twill
. Informasi lebih lanjut tersedia di http://twill.idyll.org/ .Sangat menyenangkan karena memiliki sedikit bahasa khusus untuk mengisi formulir, memvalidasi tautan, dan memeriksa kode respons. Karena ini hanya kode Python, Anda dapat dengan mudah mengimpor perpustakaan dan mengotomatiskan tes Anda sendiri jika Anda ingin melakukan sesuatu yang berbeda.
sumber
Gunakan ikal untuk mendapatkan header untuk halaman, dan waktu proses:
bungkus itu dalam loop sementara dan Anda siap melakukannya. Cara yang sama Anda dapat memeriksa semua elemen jika Anda tahu URL.
sumber
coba alat baris perintah yang disebut 'pengepungan' seperti yang diperintahkan di sini
sumber
Alat apa yang Anda pilih tergantung pada apa yang ingin Anda ukur dan kompleksitas situs.
Jika perilaku situs bergantung pada cookie (mis. Pengguna harus login) maka ab / curl / wget (dijelaskan dalam jawaban lain) tidak akan cukup. Salah satu solusinya adalah dengan menggunakan http :: recorder / www :: mechanize .
Semua data yang Anda minta ada di log server web Anda - dan skrip awk sederhana akan mengembalikannya dalam bentuk yang lebih mudah dibaca.
Ini adalah indikator kinerja yang sangat buruk (meskipun berguna untuk memantau kesehatan sistem produksi). Dengan pengecualian sumber daya besar / lambat seperti laporan besar, gambar iso, file multimedia, persepsi kinerja tidak banyak terkait dengan waktu yang dibutuhkan untuk memproses satu permintaan - dan sangat sulit untuk mengukurnya secara akurat (hanya menambahkan% D ke log apache Anda tampaknya menyelesaikan masalah tetapi mengabaikan handshake TCP, negosiasi SSL, efek caching, waktu pencarian DNS).
Solusi yang lebih baik adalah dengan menggunakan sesuatu seperti Boomerang - tetapi itu berjalan di browser yang mampu Javascript. Meskipun ini memberikan indikator kinerja yang lebih baik daripada melacak permintaan HTTP individu, ini bergantung pada acara browser untuk memperoleh nilai untuk kinerja - tetapi kinerja yang diterima adalah tentang waktu yang dibutuhkan untuk dilihat oleh viewport untuk di render (lagi-lagi ada alat untuk ini - lihat di alat filmstrip di WebPageTest ).
Ada juga argumen tentang mengukur kinerja yang sebenarnya dikirim ke pengguna situs (RUM) vs pengujian sintetis.
sumber
Jika Anda akan membutuhkan sesuatu yang lebih besar dari keriting dan / atau wget, ada juga selenium
sumber
Saya pikir untuk menjalankan tes kinerja Anda dapat mencoba JMeter . Anda dapat merekam pengujian menggunakan proxy bawaan. Ini juga berjalan dalam mode teks, lokal atau didistribusikan. Anda dapat menyimpan hasil Anda dalam format csv atau xml. Jika menggunakan format xml, Anda juga dapat menyimpan konten halaman.
sumber
Untuk memeriksa tajuk, saya suka
httpie
( dokumen ).Instalasi
Pemakaian
sumber