Menguji API menggunakan Postman dan Excel

Halo semuanya, saya adalah kepala departemen pengujian, dan baru-baru ini sebuah tugas untuk menguji API telah muncul. Untuk mengatasinya, saya menguasai alat tukang pos dan JavaScript baru untuk saya.

Awalnya, untuk setiap API, saya menulis koleksi saya dan menyiapkan data uji dalam format JSON. Ini cukup nyaman, tetapi dengan sejumlah besar tes dan koleksi menjadi tidak menguntungkan untuk dipertahankan. Dan tidak nyaman untuk memvalidasi data di JSON.

Untuk mengatasi masalah ini, saya menulis makro untuk Excel dan koleksi di tukang pos. Sekarang di tukang pos saya memiliki satu koleksi untuk semua API dan satu set fungsi standar untuk memproses data yang masuk dan memvalidasi hasil yang dikembalikan. Saya berhasil mentransfer manajemen data uji dan urutan eksekusi permintaan ke Excel.

Apa itu


1. JSON dengan data


Sebelumnya, test kit disimpan dalam formulir ini

2. 2. Urutan eksekusi permintaan dengan penangan JS disimpan dalam koleksi tukang pos.



Apa yang telah terjadi


1. Test suite dipindahkan ke Excel



Semua data dimasukkan ke Excel (karakter tombol kontrol: R, H, I, dll. Saya akan menulis di bawah) dan kemudian, menggunakan makro, mereka ditransfer ke format json:



2. Di tukang pos



Eksperimen dilakukan pada serangkaian standar operasi CRUD, yang dapat dikembangkan lebih lanjut.

Karena di Postman semua operasi dilakukan hanya dalam kerangka permintaan, saya harus memasukkan permintaan kosong di akhir permintaan berikutnya dari urutan ditentukan. Jalankan kode JS sebelum permintaan dan tentukan permintaan pertama tanpa gagal.

Dalam semua permintaan, skrip Pra-permintaan dan bagian Uji kosong, semua kode disatukan untuk permintaan dan disimpan di bagian umum skrip Pra-permintaan dan Tes folder Koleksi API.



Dalam semua permintaan, penting untuk memperhatikan url dan bagian Tubuh dalam permintaan POST dan PUT, nilainya ditentukan oleh variabel, yang nilainya dimasukkan dari JSON dengan data.



Sekarang tentang tes itu sendiri




Cara membaca excel . Baris non-kosong pertama adalah jumlah test case, yaitu test case disimpan secara vertikal dan pada halaman ini terdapat 9 case pengujian. Di set saat ini, di setiap kasus uji, permintaan POST akan dieksekusi terlebih dahulu, lalu Hapus.

Cara memulai generasi Json dari Excel . Di Excel, tekan F11 dan pergi ke "EtaBook", di sana jalankan makro.

Kata kunci


R -request, berarti awal dari permintaan baru, di sel kedua dari baris jenis permintaan disimpan, di ketiga adalah alamat yang harus Anda hubungi. Harap dicatat bahwa di url Anda dapat menentukan variabel tukang pos


Nilai dari variabel akan ditarik

H - Data untuk verifikasi di header, sejauh ini hanya kode respons yang dimasukkan, tukang pos hanya memeriksanya di tukang pos. Penting bahwa di Excel nama adalah "kode respons" yang sama, atau diperbaiki di tukang pos



I, I2 ... - Bagian data input mendukung penyimpanan model data dari setiap sarang, angka di sebelah kanan I bertanggung jawab atas tingkat sarang. Kumpulan data berikutnya dibungkus dalam JSON seperti ini. Jika variabel yang menyimpan data kosong, maka itu tidak akan ditambahkan. Artinya, jika tidak ada nilai dalam variabel inn, maka itu tidak akan ditambahkan, dan variabel utama akan ditambahkan, karena menyimpan model. Apalagi, jika seluruh model kosong, maka tidak akan ditambahkan juga.


Data di bagian ini akan diserahkan di badan permintaan.



O, O2 ... - Bagian dari parameter output, mereka akan dibandingkan dengan yang dikembalikan oleh respons. Seperti bagian Input, ini mendukung penyimpanan model.


Ketika membandingkan, data dikonversi ke string, saya juga membatasi tingkat rekursi, ini dapat dihapus

PO - Output Postman, nilai-nilai dari bagian ini akan diambil dari tubuh respon permintaan dengan nama variabel dan ditulis ke variabel Postman.


Di Excel, cukup untuk menempatkan karakter apa pun, nilai dari respons, bukan unggul, ditulis ke variabel


Bagian ini diperlukan untuk menyimpan data di antara skrip, misalnya, untuk menghapus objek dengan id yang dibuat dalam permintaan sebelumnya

PC - Postman command, hanya memperkenalkan satu perintah β€œterminate”, digunakan untuk memaksa termination setelah mengeksekusi permintaan saat ini. Berguna untuk tes negatif, agar tidak menyebabkan langkah untuk menghapus objek yang dibuat.


Memasukkan perintah ini memungkinkan menyimpan tes positif dan negatif pada satu lembar



PI - Input tukang pos, nilai-nilai dari bagian ini akan ditulis ke variabel tukang pos sebelum definisi url


Ini bisa berguna jika Anda perlu mengganti variabel yang ditentukan dalam url permintaan.

Ngomong-ngomong, Anda dapat menggunakan data dari variabel Postman dalam data yang disediakan, untuk ini Anda perlu menggunakan desain khusus



Dalam kasus 1, kami memasukkan nilai yang diperoleh ke dalam variabel, dalam kasus 2 kami menggunakannya. Ini dapat digunakan tidak hanya dalam kasus berikutnya, tetapi juga dalam yang sekarang pada permintaan berikutnya. Misalnya, mungkin diperlukan jika definisi objek untuk perubahan tidak sesuai dengan url, tetapi dengan nilai variabel dalam permintaan.

Persiapan untuk lari


Dan sekarang, jalankan, jalankan Postman runner, pilih koleksi yang diinginkan di dalamnya dan unggah file dengan data uji:



Kami akan melayani set berikut:



15 tes dijelaskan di sini, dengan langkah 1-11, 13, 15 positif dengan hasil 200 untuk permintaan POST, dan langkah 12, 14 negatif dengan hasil 400. Tidak ada informasi yang akan dimasukkan ke dalam database dan oleh karena itu bagian Output kosong, dan perintah ditunjukkan mengakhiri. Perintah ini akan menghentikan eksekusi urutan dan permintaan untuk menghapus "Hapus" tidak akan dikirim.

Setelah kasus 1-11, 13, 15, kita ingat id yang ditugaskan ke objek baru, lalu untuk menghapusnya.

Kami meluncurkan



Semua 15 tes berhasil, gambar menunjukkan tes 14, di mana Hapus tidak dipanggil setelah POST

Dalam tes 1-11,13,15 setelah POST, penghapusan objek yang dibuat disebut:



Ringkasan


  • Urutan permintaan untuk pengujian API dibuat di Excel dan diproses di tukang pos.
  • Semua data uji juga diberikan dalam Excel, akan lebih mudah untuk mengelola dan memvalidasinya. Setidaknya lebih nyaman daripada dalam format JSON.
  • Koleksi Postman terstandarisasi dan tidak perlu ditingkatkan saat menguji API serupa.

Referensi


  1. GitHub, ada Excel dan koleksi tukang pos
  2. Dalam pengembangan, alat VBA-JSON yang ditulis oleh Tim Hall digunakan.


Perbarui dari 10/15/2019

1. Meningkatkan kemampuan untuk menghasilkan file json tanpa menjalankan excel, letakkan di GenerateAll.cmd git, yang menjalankan skrip vb GenerateJsonFiles.vbs. Script yang dipanggil akan melalui folder saat ini dan semua subfolder dan menghasilkan file json
2. RunAll.cmd jalankan untuk menjalankan semua file data json yang dihasilkan, juga folder saat ini dan semua subfolder akan melalui. Di sebelah masing-masing dari mereka akan menempatkan output-report.log dengan hasil proses.

Sekarang mengacaukan ke CI seharusnya tidak menjadi masalah. Anda juga dapat mempercepat generasi json untuk menggunakan git dan membandingkan data dalam excel untuk perubahan dalam file json.

Source: https://habr.com/ru/post/id467127/


All Articles