Rumah >hujung hadapan web >tutorial js >Menguasai Ujian API Cypress: Panduan Komprehensif dengan Contoh
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-
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
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-
Dokumentasi Terperinci – Cypress telah mendokumentasikan permintaan dan penegasan dengan baik menjadikannya mudah untuk mendapatkan sokongan semasa berlari.
Cypress dilengkapi dengan pelbagai ciri untuk membantu anda melaksanakan Ujian API dengan berkesan dan cekap. Beberapa ciri dibincangkan di bawah-
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-
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.
api cemara
2 . Seterusnya, buka editor Visual Studio Code dan buka folder seperti yang dibuat dalam Langkah#1.
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.
4 . Kami kini akan memasang Cypress dari terminal, jika belum selesai, menggunakan arahan npx cypress install.
5 . Kami kini akan mencipta fail konfigurasi untuk ujian kami, dan untuk berbuat demikian, kami akan menjalankan perintah npx cypress open dalam terminal.
6 . Setelah alat Cypress dibuka, pilih Ujian E2E.
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.
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-
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-
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-
Anda dapat melihat bahawa pelaksanaan ujian telah berjaya dan ujian API kami telah lulus.
Mari kita cuba melaksanakan ujian yang sama melalui Alat Cypress.
1 . Hanya tulis arahan npx cypress open untuk membuka alat.
Dan di sana anda telah melaksanakan Ujian Automasi API Cypress pertama anda. Kami kini akan meningkatkan kod kami untuk melaksanakan beberapa Kaedah HTTP lain.
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-
Untuk demonstrasi seterusnya kami akan menggunakan satu lagi koleksi API palsu dan melihat cara kaedah permintaan HTTP berfungsi untuk mereka.
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-
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-
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.
Setelah melalui asas API dan Cypress untuk Ujian API, kami membuat kesimpulan pada perkara di bawah-
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!