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.
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.
Jawaban:
Anda dapat mencoba wget
dengan -p
opsi:
wget -p http://site.com
Ini akan memberi tahu Anda berapa lama untuk mengunduh setiap elemen dan kode pengembalian untuk setiap permintaan.
wget -p URL -O /dev/null
Silakan lihat Tolok Ukur Apache:
Ini akan memberi Anda gambaran tentang kinerja halaman Anda.
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 waktucurl --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.
Gunakan ikal untuk mendapatkan header untuk halaman, dan waktu proses:
time curl -I http://yourpage.com | grep HTTP
bungkus itu dalam loop sementara dan Anda siap melakukannya. Cara yang sama Anda dapat memeriksa semua elemen jika Anda tahu URL.
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.
patokan waktu yang diperlukan untuk mengunduh berbagai elemen situs.
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.
Jika Anda akan membutuhkan sesuatu yang lebih besar dari keriting dan / atau wget, ada juga selenium
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.
Untuk memeriksa tajuk, saya suka httpie
( dokumen ).
pip install httpie --user
$ http -h http://serverfault.com/q/124952/113899
HTTP/1.1 302 Found
Accept-Ranges: bytes
Age: 0
Cache-Control: private
Connection: keep-alive
Content-Length: 198
Content-Type: text/html; charset=utf-8
Date: Fri, 06 Jan 2017 10:01:06 GMT
Location: http://serverfault.com/questions/124952/testing-a-website-from-linux-command-line
Set-Cookie: prov=392298d9-103e-7dfc-5b55-8738be46cf3b; domain=.serverfault.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 07a25de4-6e16-4aa8-acfc-12b1bbbc6180
X-Served-By: cache-hhn1543-HHN
X-Timer: S1483696865.976259,VS0,VE187