Rumah >hujung hadapan web >tutorial js >Menguasai Ujian API Cypress: Panduan Komprehensif dengan Contoh

Menguasai Ujian API Cypress: Panduan Komprehensif dengan Contoh

DDD
DDDasal
2024-12-27 10:48:10131semak imbas

Antara Muka Pengaturcaraan Aplikasi, yang lebih dikenali sebagai API ialah aspek penting dalam kitaran hayat pembangunan perisian bukan sahaja dari sudut pandangan pembangunan tetapi juga dari perspektif ujian. API ini memudahkan interaksi antara sistem yang berbeza untuk bertukar data. Oleh itu, menjadi sangat penting untuk menguji API ini secara menyeluruh untuk memastikan aplikasi berfungsi dengan lancar.

Dalam artikel ini, kami akan meneroka Ujian API dengan Rangka Kerja Pengujian Cypress dan melihat cara kami boleh mengautomasikan API kami untuk ujian yang cekap. Kami akan membincangkan perkara di bawah dalam artikel ini-

Ikhtisar Pengujian API

Pengujian API melibatkan penghantaran Permintaan HTTP, sama ada GET, POST, PUT, DELETE(atau kaedah lain) ke pelayan bahagian belakang dan mendapatkan semula respons. Sebaik sahaja respons diperoleh, ia disahkan untuk memastikan bahawa nilai yang dijangkakan telah diterima. Beberapa aspek utama ujian API disenaraikan di bawah

  • Mengesahkan Kod Status – Pengesahan kod status dalam respons dilakukan untuk memastikan kod status yang dikehendaki diterima. Sebagai contoh, 200 kod status dijangka untuk memastikan Kejayaan. Anda boleh merujuk kepada kod status standard lain yang digunakan untuk Permintaan HTTP daripada dokumentasi wiki.
  • Penegasan Badan Respons – Pengesahan badan respons HTTP untuk memastikan XML atau JSON mengandungi data yang dijangkakan dan mempunyai struktur yang betul.
  • Menguji Parameter Permintaan – Pengesahan gelagat API dengan menghantar nilai yang berbeza dalam parameter dan pengepala.
  • Pengesahan & Kebenaran – Pengesahan mekanisme pengesahan yang betul dan aspek keselamatan. Semasa menguji API, perkara di atas dipertimbangkan untuk memastikan bahawa fungsi API hujung ke hujung adalah bebas pepijat.

Menggunakan Cypress untuk Ujian API

Cypress ialah alat ujian bahagian hadapan yang popular, digunakan untuk pelayar dan ujian automasi hujung ke hujung. Cypress dilengkapi dengan keupayaan permintaan rangkaian, yang menjadikannya pilihan yang baik untuk ujian API juga. Beberapa ciri utama yang ditawarkan oleh Cypress untuk Ujian API ialah-

  • Kebiasaan dalam sintaks – Sama seperti ujian UI, arahan API Cypress menggunakan sintaks .should() dan .then() yang sama.
  • Pernyataan Terbina Dalam – Kami boleh menggunakan pernyataan yang disediakan oleh Cypress dengan mudah untuk menegaskan kod status, atau pengepala atau badan respons permintaan API.
  • Mencuba semula permintaan yang gagal – Cypress mencuba semula permintaan yang gagal secara automatik untuk memastikan tiada rangkaian atau isu lain yang serupa.

Dokumentasi Terperinci – Cypress telah mendokumentasikan permintaan dan penegasan dengan baik menjadikannya mudah untuk mendapatkan sokongan semasa berlari.

Ciri Utama Pengujian API Cypress

Cypress dilengkapi dengan pelbagai ciri untuk membantu anda melaksanakan Ujian API dengan berkesan dan cekap. Beberapa ciri dibincangkan di bawah-

  • cy.wait() – Menyediakan mekanisme untuk menunggu permintaan rangkaian dan membantu memuatkan data tak segerak.
  • cy.route() – Membantu menghalakan permintaan ujian kepada pengendali tertentu.
  • cy.server() – membantu mengekalkan keseluruhan pelayan untuk suite ujian.
  • Pelari Ujian – Membantu dalam pelaksanaan ujian selari untuk masa pemulihan yang cepat.
  • cy.login() – Membantu dalam membuat permintaan API yang selamat dengan menetapkan pengepala kebenaran dengan satu arahan sebelum panggilan.
  • cy.intercept() – Mengawal respons atau mensimulasikan gelagat dengan memintas permintaan. Dengan ciri-ciri ini ia menjadi sangat mudah dan mudah bagi pengguna untuk mula menulis ujian API dengan keupayaan yang dipertingkatkan dan rangka kerja yang cekap.

Sekarang kami memahami cara Cypress boleh membantu dalam mengautomasikan API kami, marilah kami menulis Ujian API mudah menggunakan Cypress. Tetapi sebelum itu anda perlu memastikan bahawa prasyarat di bawah dipenuhi-

  • Pasang IDE seperti Visual Studio (ini adalah IDE yang paling banyak digunakan, tetapi anda boleh merujuk beberapa IDE lain seperti IntelliJ juga)
  • Pasang Node.js dalam sistem anda Sekarang mari kita ikuti langkah-langkah menulis ujian API pertama kami menggunakan Cypress.

Menulis Ujian API Pertama menggunakan Cypress

Dalam artikel ini kami akan membincangkan senario mudah menghantar Permintaan HTTP menggunakan kaedah GET, POST, PUT dan DELETE. Tetapi sebelum kita mula menulis skrip ujian, kita akan menyediakan persekitaran.

  1. Buat folder secara setempat dalam sistem anda, saya telah mencipta folder bernama CypressAPITests dalam sistem saya.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

api cemara
2 . Seterusnya, buka editor Visual Studio Code dan buka folder seperti yang dibuat dalam Langkah#1.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

3 . Sekarang anda telah membuka folder, langkah seterusnya ialah menyediakan projek nod. Untuk berbuat demikian, dalam terminal gunakan arahan npm init -y, ini akan mencipta fail package.json.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

4 . Kami kini akan memasang Cypress dari terminal, jika belum selesai, menggunakan arahan npx cypress install.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

5 . Kami kini akan mencipta fail konfigurasi untuk ujian kami, dan untuk berbuat demikian, kami akan menjalankan perintah npx cypress open dalam terminal.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

6 . Setelah alat Cypress dibuka, pilih Ujian E2E.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

7 . Klik pada Teruskan pada skrin seterusnya.

8 . Setelah fail konfigurasi telah disediakan, kembali ke editor Visual Studio Code dan anda akan melihat fail konfigurasi telah dibuat.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

9 . Kini Cypress telah berjaya dipasang dan juga persekitaran sudah sedia. Kami akan mula menulis ujian kami sekarang.

Kami akan menggunakan beberapa panggilan API palsu untuk menunjukkan Automasi API Cypress.

Dalam editor Visual Studio Code, buat folder e2e di bawah direktori Cypress. Di bawah folder e2e anda boleh mencipta folder lain dengan nama APITests. Harap maklum bahawa anda boleh memilih nama folder mengikut keperluan anda.

Sekarang kami akan mula menulis fail ujian pertama kami. Kami akan membuat fail di bawah folder APITests. Biar kami namakannya sebagai HttpGetRequest. Nama fail ini akan mempunyai sambungan .cy.js seperti yang ditunjukkan dalam petikan di bawah-

Mastering Cypress API Testing: A Comprehensive Guide with Examples
Sekarang kita akan mula menulis kod utama. Sebelum berbuat demikian, mari kita lihat sintaks asas permintaan-

cy.request(KAEDAH,url,badan)

Dalam permintaan yang dibuat menggunakan Cypress, url ialah parameter wajib tetapi parameter lain seperti Kaedah dan badan adalah pilihan. Anda boleh melihat sintaks permintaan yang berbeza daripada dokumentasi rasmi Cypress untuk mendapatkan lebih pemahaman tentang cara kami boleh menggunakannya secara berbeza.

Dalam senario contoh kami, kami akan menggunakan kaedah GET untuk mengambil beberapa sumber, jadi kami akan menggunakan Kaedah dan url sebagai parameter untuk cy.request.

cy.request('GET','https://dummy.restapiexample.com/api/v1/employees')
Perintah ini akan membuat panggilan API ke pelayan.

Seterusnya, kami akan menegaskan beberapa nilai respons, contohnya kod status.

.itu('status')
.sepatutnya('sama',200);
Baris kod ini akan mengesahkan kod status respons dan menegaskan bahawa nilainya ialah 200.

Mari kita lihat bagaimana kod ini akan kelihatan apabila ia digabungkan:

huraikan('HTTPGet',()=>{

ia('DAPATKAN permintaan',()=>{

cy.request('GET','https://dummy.restapiexample.com/api/v1/employees')
.its('status')
.sepatutnya('sama',200);

})

})
Selepas menulis kod untuk permintaan GET, kami akan melaksanakan perkara yang sama. Untuk melaksanakannya, kita boleh menggunakan mana-mana daripada dua cara-

  1. Pelaksanaan melalui terminal
  2. Pelaksanaan melalui alat Cypress Kita akan lihat satu persatu bagaimana kita boleh melaksanakan pelaksanaan.

Pelaksanaan melalui Terminal

Untuk melaksanakan kod Cypress melalui terminal, buka tetingkap terminal dan hanya hantar arahan:

npx cypress run –spec “filepath”

Dalam arahan di atas, laluan fail ialah laluan relatif bagi fail yang anda ingin laksanakan. Gambar di bawah menunjukkan pelaksanaan fail HTTPGetRequest pada sistem saya-

Mastering Cypress API Testing: A Comprehensive Guide with Examples

Anda dapat melihat bahawa pelaksanaan ujian telah berjaya dan ujian API kami telah lulus.

Mari kita cuba melaksanakan ujian yang sama melalui Alat Cypress.

Pelaksanaan melalui Alat Cypress

1 . Hanya tulis arahan npx cypress open untuk membuka alat.

  1. Sebaik sahaja anda melihat tetingkap alat dibuka, klik pada Ujian E2E.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

  1. Sekarang pilih mana-mana penyemak imbas. Saya memilih Elektron.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

  1. Anda akan melihat bahawa penyemak imbas Electron dibuka dengan spesifikasi yang telah kami tulis Kod Visual Studio dipaparkan.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

  1. Pilih HttpGetRequest dan anda akan melihat bahawa pelaksanaan bermula dengan log dipaparkan.

Mastering Cypress API Testing: A Comprehensive Guide with Examples

Dan di sana anda telah melaksanakan Ujian Automasi API Cypress pertama anda. Kami kini akan meningkatkan kod kami untuk melaksanakan beberapa Kaedah HTTP lain.

Kaedah POS

Kod untuk melaksanakan Permintaan HTTP POST-

huraikan('HTTPGet',()=>{

ia('POST request',()=>{
cy.request({
kaedah: 'POST',
url: 'https://dummy.restapiexample.com/api/v1/create',
badan: {
"nama":"siaran ujian",
"gaji":"1234",
"umur":"23"

}
})
.its('status')
.sepatutnya('sama',200);
})
})
Selepas melaksanakan kod di atas, log akan memaparkan hasil pelaksanaan seperti yang ditunjukkan di bawah-

Mastering Cypress API Testing: A Comprehensive Guide with Examples
Untuk demonstrasi seterusnya kami akan menggunakan satu lagi koleksi API palsu dan melihat cara kaedah permintaan HTTP berfungsi untuk mereka.

Kaedah PUT

Kod untuk melaksanakan Permintaan HTTP PUT-

huraikan('HTTPPut',()=>{

ia('LETAKKAN permintaan',()=>{
cy.request({
kaedah: 'LETAK',
url: 'https://jsonplaceholder.typicode.com/posts/1',
badan: {
id: 1,
tajuk: 'Ini Kemas Kini PUT',
badan: 'Ini badan Kemas Kini PUT',
ID pengguna: 1,
}
})
.its('status')
.sepatutnya('sama',200) ;
})
})

Hasil pelaksanaan kod di atas dipaparkan di bawah-

Mastering Cypress API Testing: A Comprehensive Guide with Examples

Kaedah PADAM

Kod untuk melaksanakan Padam Permintaan HTTP(Perhatikan bahawa saya menambahkan sekeping kod di bawah dalam contoh yang sama yang saya gunakan di atas)-

ia('DELETE request',()=>{
cy.request({
kaedah: 'PADAM',
url: 'https://jsonplaceholder.typicode.com/posts/1',
})
.its('status')
.sepatutnya('sama',200) ;
})
Memandangkan kedua-dua permintaan PUT dan DELETE berada dalam fail yang sama, kedua-dua kaedah telah dilaksanakan dan hasilnya adalah seperti yang dipaparkan di bawah-

Mastering Cypress API Testing: A Comprehensive Guide with Examples
Jadi, ini sahaja dan anda kini tahu bagaimana anda boleh melaksanakan Permintaan HTTP asas untuk Kaedah berbeza menggunakan Cypress. Anda kini boleh meneruskan dan cuba melaksanakan Ujian API Cypress dalam projek anda dan lihat betapa mudahnya anda dapat menguji API dengan masa pemulihan yang cepat.

Kesimpulan

Setelah melalui asas API dan Cypress untuk Ujian API, kami membuat kesimpulan pada perkara di bawah-

  1. Pengujian API Cypress membantu dengan set alat yang berkuasa yang memberikan kebiasaan kepada sintaks Cypress untuk Ujian UI.
  2. Kami boleh menggunakan penegasan dengan mudah untuk mengesahkan kod status respons dan sebarang parameter respons lain.

Sumber: Artikel ini pada asalnya diterbitkan di testgrid.io.

Atas ialah kandungan terperinci Menguasai Ujian API Cypress: Panduan Komprehensif dengan Contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn