Pernyataan dalam SoapUI: Skrip, XQuery, Tipe XPath

⚡ Ringkasan Cerdas

Pernyataan dalam SoapUI Ini adalah titik pemeriksaan yang menentukan apakah respons layanan web sudah benar, mengubah permintaan yang hanya dieksekusi menjadi pengujian yang benar-benar berhasil atau gagal pada konten nyata yang dapat diverifikasi.

  • 🔘 Kategori: Konten Properti, Kepatuhan/Status/Standar, Skrip, SLA, JMS, dan Keamanan.
  • ☑️ Memiliki: Memastikan bahwa string tersebut ada dalam respons, dengan dukungan ekspresi reguler.
  • ✅ Tidak Mengandung: Memastikan bahwa sebuah string tidak ada, berguna untuk token kesalahan dan field yang bocor.
  • 🧪 Pencocokan XPath: Deklarasikan namespace terlebih dahulu, kemudian targetkan satu node dan bandingkan nilainya.
  • ️ Pencocokan XQuery: Memvalidasi kumpulan node berulang yang jika tidak akan memerlukan ratusan pemeriksaan XPath.
  • 📊 Skrip: Groovy Assertions menangani respons dinamis dan logika pengaturan atau pembongkaran.
  • 🔍 Penyelesaian masalah: Kesalahan namespace dan sintaksis titik alih-alih titik dua menyebabkan sebagian besar kegagalan.

Pernyataan dalam SoapUI

Apa Itu Penegasan?

Penegasan berarti tindakan menegaskan atau menyatakan sesuatu. Dapat juga diartikan sebagai check point atau titik validasi.

Setelah permintaan dikirim ke server web, respons akan diterima. Kita perlu memvalidasi apakah respons tersebut berisi data yang kita harapkan. Untuk memvalidasi respons, kita perlu menggunakan pernyataan (assertion). Tanpa pernyataan, langkah pengujian hanya membuktikan bahwa layanan telah membalas, bukan bahwa balasan tersebut benar, itulah sebabnya setiap Pengujian API sebaiknya membawa setidaknya satu.

Jenis-Jenis Penegasan

Ada berbagai cara untuk menyatakan suatu tanggapan; namun, kita akan fokus pada cara yang umum digunakan. SoapUI Jenis pernyataan saat memvalidasi respons. Berikut adalah kategori yang tersedia dalam versi Open Source dari SoapUI.

  1. Konten Properti
  2. Standar Status Kepatuhan
  3. Naskah
  4. SLA
  5. J.M.S.
  6. Security

Dialog tersebut mengelompokkan setiap pernyataan ke dalam kategori-kategori tersebut, seperti yang ditunjukkan pada tangkapan layar di bawah ini.

Kategori pernyataan yang tercantum dalam SoapUI Tambahkan dialog Pernyataan
Jenis-jenis Pernyataan dalam SoapUI

Selain yang tercantum di atas, versi Pro juga memiliki fitur JDBC Assertion bawaan yang dapat kita gunakan untuk memastikan apakah layanan web telah memperbarui basis data dengan benar.

Catatan versi: arus SoapUI dokumentasi juga mencantumkan sebuah JDBC kategori (Status JDBC dan Batas Waktu JDBC) di samping kategori di atas, dan sebuah Isi pesan Pernyataan di dalam Konten Properti untuk perbandingan XML yang lebih kaya. Edisi komersial yang disebut di sini sebagai "Pro" sekarang dijual sebagai ReadyAPI oleh SmartBear, jadi label menu di versi yang lebih baru mungkin terbaca berbeda sementara perilaku pernyataan tetap sama.

Berisi Penegasan

Mencari keberadaan string yang ditentukan. Ini juga mendukung ekspresi reguler.

Kami akan melanjutkan dengan contoh yang sama dari tutorial sebelumnya dengan permintaan WSDL sebagai http://www.dneonline.com/calculator.asmxJika Anda belum membuat proyek tersebut, kerjakan langkah-langkah berikut ini: Membuat proyek, rangkaian pengujian, dan kasus pengujian. pertama.

Langkah 1: Secara default tidak ada pernyataan (assertion).

  1. Jumlah Pernyataan ditampilkan di Tab Pernyataan.
  2. Untuk menambahkan pernyataan baru, klik tombol 'Tambahkan Pernyataan Baru'.

SoapUI Tab Assertions tidak menampilkan assertions apa pun dan tombol Add New Assertion.

Langkah 2: Sekarang,

  1. Pilih Kategori Pernyataan.
  2. Pilih Jenis Pernyataan.
  3. Klik 'Tambah'

Tambahkan dialog Assertion dengan kategori dan tipe assertion yang dipilih.

Langkah 3: Mari kita validasi apakah string '46' ada dalam respons. Klik 'OK'.

Catatan: Kita juga dapat mengabaikan huruf besar-kecil dan menambahkan ekspresi reguler.

Berisi dialog konfigurasi Assertion dengan nilai 46 yang dimasukkan

Langkah 4: Setelah ditambahkan, pernyataan akan langsung dieksekusi dan menunjukkan apakah VALID atau INVALID.

Tab Assertions melaporkan pernyataan Contains sebagai VALID.

Langkah 5: Sekarang, mari kita ubah isi dari 'Contains Assertion in' SoapUI' ke '47' dan lihat apa yang terjadi.

Mengedit konten Pernyataan Berisi dari 46 menjadi 47

Langkah 6: Pernyataan dieksekusi dan hasilnya ditampilkan kepada pengguna. Karena kita tidak memiliki string '47' dalam respons, pernyataan tersebut gagal.

Tab Assertions melaporkan bahwa assertion Contains gagal.

Tidak Berisi Penegasan

Fungsi kebalikannya bekerja sebaliknya. Mencari ketiadaan string yang ditentukan. Fungsi ini juga mendukung ekspresi reguler.

Langkah 1: Setelah mengklik tombol 'tambahkan pernyataan baru',

  1. Pilih Kategori Pernyataan.
  2. Pilih Jenis Pernyataan – Dalam hal ini 'TIDAK Berisi'
  3. Klik 'Tambah'

Tambahkan dialog Pernyataan dengan pilihan TIDAK Berisi

Langkah 2: Mari kita validasi apakah string 'intA' ada dalam respons. Masukkan string 'FromCurrency' dan klik 'OK'.

Dialog Not Contains Assertion dengan string FromCurrency yang dimasukkan.

Langkah 3: Begitu sebuah pernyataan ditambahkan, pernyataan tersebut akan dieksekusi dan menampilkan hasilnya. Sejauh ini kita telah menambahkan dua pernyataan, oleh karena itu kedua pernyataan tersebut dieksekusi dan menampilkan hasilnya.

Tab Pernyataan menampilkan hasil yang Berisi dan Tidak Berisi.

Langkah 4: Sekarang mari kita ubah isi dari 'Not Contains Assertion' dan lihat apa yang terjadi. Kita akan memeriksa apakah string “AddResult” tidak ada.

Dialog Not Contains Assertion memeriksa token AddResult

Langkah 5: String 'AddResult' sebenarnya ada dalam respons, oleh karena itu pernyataan 'NOT Contains' akan gagal seperti yang ditunjukkan di bawah ini.

Pernyataan "Not Contains" gagal karena AddResult ada.

Pernyataan Kecocokan XPath

Pencocokan string bersifat kasar, jadi pernyataan selanjutnya menargetkan satu node saja. Menggunakan ekspresi XPath untuk memilih node target dan nilainya. XPath, adalah bahasa kueri XML untuk memilih node dari dokumen XML.

Langkah 1: Setelah mengklik tombol 'Tambahkan Pernyataan Baru',

  1. Pilih Kategori Pernyataan.
  2. Pilih Jenis Pernyataan – Dalam hal ini 'XPath Match'
  3. Klik 'Tambah'

Tambahkan dialog Assertion dengan pilihan XPath Match.

Langkah 2: Tambahkan XPath. Jendela terbuka.

Sebelum menambahkan SoapUI Dalam XPath, kita perlu mendeklarasikan namespace. Namespace XML adalah kumpulan nama, yang diidentifikasi oleh referensi Uniform Resource Identifier (URI), yang digunakan dalam dokumen XML sebagai nama elemen dan atribut. Hal yang sama digunakan dalam SoapUI Pernyataan XPath.

Untuk mendeklarasikan namespace XML, kita hanya perlu mengklik tombol 'Deklarasikan' yang akan melakukan tugas tersebut untuk kita, atau kita juga dapat mendeklarasikan namespace secara manual sendiri.

Setelah mendeklarasikan namespace, kita perlu merujuk XPath menggunakan namespace yang telah dibuat.

Setelah mengklik tombol 'Deklarasikan', dua namespace akan muncul karena kita memiliki dua URI. Salah satunya adalah skema. URL dan yang satunya lagi sesuai dengan layanan web yang sebenarnya. URLKita perlu menggunakan namespace sebenarnya tempat layanan web berada dan BUKAN namespace skema saat merujuk XPath. Baris yang dideklarasikan muncul di bagian atas kotak XPath seperti yang ditunjukkan di bawah ini.

Namespace soap dan ns1 dideklarasikan di dalam jendela pernyataan XPath.

deklarasikan namespace sabun='http://schemas.xmlsoap.org/soap/envelope/';

mendeklarasikan namespace ns1='http://tempuri.org/';

Jendela pernyataan XPath akan muncul segera setelah mengklik Deklarasikan.

Langkah 3: Sekarang kita perlu memasukkan XPath dari node XML yang perlu kita validasi.

//ns1:AddResult Memberi kita Nilai dari node yang diapit di antaranya & dan ns1 sesuai dengan namespace yang dideklarasikan yang menunjuk ke 'http://tempuri.org/'

Setelah memasukkan XML, kita perlu mengklik 'Pilih dari saat ini' sehingga nilai dari respon saat ini akan diambil untuk perbandingan selanjutnya.

Ekspresi XPath dimasukkan dengan Pilih dari yang saat ini disorot

Langkah 4: Sejauh ini,

  1. Setelah mendeklarasikan namespace, kita telah memasukkan XPath dari node XML yang perlu kita Validasi.
  2. Kita perlu mengklik 'Pilih dari Saat Ini' untuk menjadikan nilai saat ini sebagai nilai yang diharapkan.
  3. Nilai saat ini ditampilkan kepada pengguna yang dapat kami ubah jika diperlukan.
  4. Klik 'Simpan'.

Konfigurasi Pencocokan XPath yang menunjukkan nilai yang diharapkan dan tombol Simpan.

Langkah 5: Pernyataan tambahan di SoapUI akan ditampilkan seperti yang ditunjukkan di bawah ini.

Tab Assertions yang menampilkan assertion XPath Match yang ditambahkan.

Pernyataan Skrip

Teknik Penegasan ini adalah yang paling banyak digunakan karena sangat sulit untuk mengelola dan mempertahankan ratusan pernyataan.

SoapUI menggunakan baik Groovy Pembuatan skrip atau JavaNaskah untuk pernyataan skrip. Teknik pembuatan skrip diadopsi untuk pengembangan.ping Kerangka kerja untuk pengujian SOAP. Pernyataan skrip digunakan dalam keadaan berikut.

  • Scripting memungkinkan pengguna untuk melakukan beberapa operasi sebelum dan sesudah mengeksekusi kasus uji menggunakan metode setup dan tear down. Setup adalah prosedur yang dieksekusi sebelum mengeksekusi metode tertentu (contoh – pembuatan dan inisialisasi objek), sedangkan tear down adalah prosedur yang dieksekusi setelah mengeksekusi metode tersebut (contoh: menghapus objek dan membersihkan). Fitur ini tidak tersedia di tipe Assertion lainnya dan hanya dapat dilakukan melalui pengkodean.
  • Fitur ini memungkinkan pengguna untuk membuka/menutup Proyek, untuk menginisialisasi atau membersihkan pengaturan terkait Proyek, dan juga untuk bekerja dengan variabel lingkungan yang sangat membantu selama pembuatan skrip.
  • Ini membantu kami dalam menegaskan konten Respons yang dinamis.
  • Pernyataan skrip digunakan untuk membuat pernyataan yang ditentukan pengguna yang TIDAK ditentukan sebelumnya oleh SoapUI.

Untuk mendemonstrasikan pernyataan Skrip di SoapUI, kita akan menggunakan kalkulator WSDL, kasus uji 'Tambah' yang telah kita buat sebelumnya.

Langkah 1: Langkah-langkah untuk menambahkan skrip Groovy sama seperti pada assertion lainnya, kecuali bahwa assertion ini bukan assertion yang sudah ditentukan sebelumnya. Sebaliknya, ini adalah assertion yang didefinisikan pengguna yang menawarkan fleksibilitas lebih besar daripada assertion bawaan.

Pilih langkah Uji yang harus ditambahkan pernyataannya.

Langkah pengujian yang dipilih di SoapUI navigator sebelum menambahkan pernyataan

Klik Tombol 'Tambahkan Pernyataan' seperti yang ditunjukkan di bawah ini.

Tombol Tambah Pernyataan pada bilah alat pernyataan langkah pengujian

Langkah 2: Sekarang pilih kategori Assertion.

  1. Dalam hal ini adalah Script.
  2. Pilih SoapUI Script Assertion dan tidak ada subtipe yang terkait dengannya.
  3. Klik 'Tambahkan'.

Tambahkan dialog Assertion dengan kategori Script yang dipilih.

Langkah 3: Dialog Skrip terbuka di mana pengguna dapat menulis skrip yang ditentukan pengguna untuk memvalidasi XML respons.

Empty SoapUI dialog editor pernyataan skrip

Langkah 4: Sekarang mari kita tulis skrip Groovy untuk memvalidasi Rasio Konversi. Skrip terlampir di bawah ini dengan komentar yang disematkan. Disarankan untuk memiliki pengetahuan tentang Java Skrip atau Groovy Skrip sebelum mencoba menulis skrip Anda sendiri.

//Define Groovy Utils and holder for validating the XML reponse content
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)

//Define the NameSpace
holder.namespaces["ns1"] = "http://tempuri.org/"

//Get the Value of the Node 'AddResult' and assign to a variable
def addResult = holder.getNodeValue("//ns1:AddResult")

//print the value of the result in the Output panel
log.info "The result value for integers is " + addResult

//Comparing the value to print 'Pass' or 'Fail'
if(addResult=="46")
{ log.info "Pass" }
else
{ log.info "fail"}
  1. Klik Tombol 'Jalankan' untuk memicu eksekusi.
  2. Output dari Script ditampilkan di panel Output. Sudah tercetak baik Nilai Konversi maupun hasil akhirnya (Lulus atau Gagal)
  3. Informasi yang ditampilkan adalah 'Pernyataan Skrip Lulus'. Klik Oke.

Catatan: Pop up Informasi terakhir akan selalu ditampilkan dengan pesan 'Script Assertion Passed' selama skrip tersebut benar secara sintaksis. Itu tidak ada hubungannya dengan pernyataan Anda dalam naskah.

Panel keluaran pernyataan skrip mencetak nilai hasil dan Lulus

klik OK

Langkah 5: Sekarang Tab Assertion menampilkan semua assertion yang telah kita tambahkan untuk test suite ini beserta Status untuk masing-masing assertion tersebut.

Tab Assertions yang mencantumkan setiap assertion yang ditambahkan ke rangkaian pengujian.

Langkah 6: Sekarang

  1. Pilih Test Suite dari pohon Navigator
  2. Klik Tombol 'Jalankan'
  3. Hasil akan ditampilkan untuk seluruh rangkaian pengujian.

Hasil eksekusi rangkaian pengujian setelah menjalankan semua pernyataan.

Pernyataan Pencocokan XQuery

Ini menggunakan ekspresi XQuery untuk memilih konten dari properti target. Kita membutuhkan XML respons yang jauh lebih besar agar dapat lebih memahami pernyataan XQuery tersebut. SoapUIMari kita impor satu WSDL lagi seperti yang ditunjukkan di bawah ini: http://www.webservicex.net/medicareSupplier.asmx?WSDL

Catatan: Endpoint demo webservicex.net publik yang digunakan dalam panduan ini tidak lagi dapat diakses dengan andal, jadi tangkapan layar permintaan dan respons di bawah ini tetap digunakan sebagai contoh referensi. Setiap WSDL yang mengembalikan kumpulan node berulang akan menjalankan pernyataan XQuery dengan cara yang sama persis.

Langkah 1: Klik kanan pada proyek yang sudah ada dan pilih 'Tambahkan WSDL'.

Menu klik kanan pada SoapUI Proyek yang menampilkan penambahan WSDL.

Langkah 2: Dialog Tambah WSDL terbuka. Biarkan opsi lainnya tetap pada pengaturan default dan klik tombol 'OK'.

Tambahkan dialog WSDL dengan opsi impor default.

Langkah 3: Semua operasi tercantum seperti yang ditunjukkan di bawah ini.

Operasi WSDL pemasok Medicare tercantum dalam pohon navigator.

Langkah 4: Sekarang mari kita tambahkan Uji Kasus dalam rangkaian pengujian yang sama dengan yang kami buat pengujian konverter mata uang.

Opsi TestCase baru pada rangkaian pengujian yang sudah ada.

Langkah 5: Masukkan nama kasus uji dan Klik Tombol 'OK'

Memasukkan nama kasus uji di dialog Kasus Uji Baru

Langkah 6: Kasus uji dibuat seperti yang ditunjukkan di bawah ini.

Kasus uji yang baru dibuat di dalam SoapUI pohon navigator

Langkah 7: Tambahkan langkah pengujian baru dengan Tipe 'Permintaan Pengujian SOAP' seperti yang ditunjukkan di bawah ini.

Tambahkan menu Langkah dengan Permintaan Uji SOAP terpilih

Langkah 8: Masukkan nama langkah pengujian. Misalnya – Supplier_by_City yang akan lebih bermakna. Klik 'OK'.

Memberi nama langkah pengujian baru Supplier_by_City

Langkah 9: Pilih Operayang ingin kami validasi. Dalam kasus ini adalah 'MedicareSupplierSoap -> GetSupplierByCity'. Klik 'OK'.

Memilih operasi GetSupplierByCity untuk langkah pengujian.

Langkah 10: Masukkan Nama kasus uji dan klik 'OK'.

Mengkonfirmasi nama permintaan pengujian SOAP

Langkah 11: Kerangka XML Permintaan akan ditampilkan seperti yang ditunjukkan di bawah ini.

Garis besar XML permintaan GetSupplierByCity yang dihasilkan

Langkah 12: Sekarang mari kita cari semua informasi pemasok untuk Kota 'New York'.

Untuk melakukannya, tambahkan baris berikut ke kode Anda.

<GetSupplierByCity xmlns="http://www.webservicex.net/">

<City>New York</City>

</GetSupplierByCity>

WSDL di bawah ini URL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity

XML permintaan diedit dengan New York sebagai nilai Kota.

Langkah 13: Setelah menjalankan pengujian, kita menerima respons berikut.

Respons GetSupplierByCity yang berisi catatan pemasok berulang.

Langkah 14: Katakanlah kita perlu memvalidasi semua Nomor Pemasok. Kita tidak dapat menggunakan XPath Assertion karena kita perlu memiliki ratusan XPath Assertion. Oleh karena itu, penggunaan XQuery tidak dapat dihindari dalam kasus ini.

XQuery Assertion membantu kita memvalidasi sekelompok respons XML yang bersifat berulang.

Node SupplierData yang berulang yang akan diiterasi oleh XQuery.

Langkah 15: Sekarang klik 'Tambahkan pernyataan',

  1. Pilih 'Kategori Pernyataan' – Konten Properti dalam hal ini.
  2. Pilih Jenis Pernyataan sebagai 'Pernyataan XQuery'
  3. Klik 'Tambahkan'.

XQuery Assertion dipilih dalam kategori Konten Properti.

Langkah 16: Mirip dengan XPath Assertion, kita perlu mendeklarasikan namespace.

  1. Klik tombol 'Deklarasikan' untuk mengizinkan secara otomatis. SoapUI untuk mendeklarasikan namespace. Setelah mengklik tombol deklarasikan, sebuah 'POP up' dengan pesan 'deklarasikan namespace dari skema sebagai gantinya' akan ditampilkan kepada pengguna. Klik 'Ya' untuk melanjutkan seperti yang ditunjukkan di bawah ini.
  2. Untuk mengambil semua Nomor Pemasok, Kita perlu menulis Kueri XPath dan kami akan menempatkannya di dalam <Nomor Pemasok> dan Tag.
  3. Klik 'Pilih dari Saat Ini' yang akan mengeksekusi respons saat ini.
  4. Setelah mengklik 'Pilih dari yang Tersedia', semua nomor pemasok akan tercantum.
  5. Klik 'Simpan'.

Deklarasikan namespace dari jendela pop-up konfirmasi skema.

Catatan: Setelah menekan tombol 'Deklarasikan', Anda mungkin akan mendapatkan hasil yang berbeda. URL's sebagai deklarasi namespace, namun, namespace lokasi layanan web yang sebenarnya adalah yang akan dipertimbangkan untuk pengkodean.

Ekspresi XQuery yang sudah selesai, beserta deklarasi namespace-nya, terlihat seperti ini.

// Namespace declaration
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace ns1='http://www.webservicex.net/';
declare namespace x = '';

// Placing the result in Myresult Tags

{
// Iterating through all the supplier number
for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData

//Return all the Supplier number within ‘SupplierNumber’ Tags.
return {data($x/ns1:SupplierNumber)}
}

Jendela ekspresi XQuery yang menampilkan setiap nomor pemasok

Langkah 17: XQuery Assertion dieksekusi dan menampilkan hasil akhir di Panel 'Assertion' seperti yang ditunjukkan di bawah ini. Sekarang kita telah berhasil menambahkan XQuery assertion yang digunakan untuk memvalidasi semua informasi Nomor pemasok. Informasi tersebut akan dibandingkan dengan data aktual setiap kali permintaan dikirim ke webserver.

Catatan: Nilai sebenarnya tidak akan ditampilkan. Jika semua nilai sebenarnya sama dengan nilai yang diharapkan, maka akan ditampilkan VALID, jika tidak maka akan ditampilkan 'Gagal'.

Panel Assertions yang menampilkan hasil assertion XQuery.

Kapan Menggunakan Pernyataan Bawaan?

Dengan adanya pilihan point-and-click dan scripted yang telah dibahas, pertanyaan praktisnya adalah mana yang sebaiknya dipilih.

  • Ketika Respons pendek sehingga dapat divalidasi menggunakan salah satu pernyataan bawaan tersebut.
  • Kita juga dapat menggunakan Inbuilt Assertion jika respon yang dikirim dari web server selalu bersifat statis. Jika bersifat dinamis, kami tidak akan dapat menegaskannya menggunakan pernyataan bawaan.
  • Ketika penggunaan pernyataan bawaan seperti pernyataan Time out dan pernyataan keamanan menjadi tidak dapat dihindari.
  • Pernyataan bawaan berlaku cukup baik untuk penggunaan satu kali di mana pengujian tidak perlu diulang.

Opsi Pernyataan

Pernyataan yang dibuat dapat dikontrol dengan baik menggunakan bantuan panel kontrol yang disorot di bawah.

Panel kontrol kotak peralatan pernyataan di SoapUI

Pernyataan yang dibuat memungkinkan penguji untuk mengonfigurasi hal-hal berikut dari kotak peralatan pernyataan.

pilihan Deskripsi
Pindahkan ikon pernyataan ke atas Pernyataan yang dipilih akan naik urutannya.
Pindahkan ikon pernyataan ke bawah Pernyataan yang dipilih berpindah urutan ke bawah.
Hapus ikon pernyataan Menghapus Pernyataan yang Dipilih
Konfigurasi atau edit ikon pernyataan Konfigurasi ulang/Edit Pernyataan yang dipilih.

Berikut adalah fitur-fitur yang tersedia secara eksklusif di versi Pro dari SoapUI, sekarang dikirim sebagai ReadyAPIVersi Pro juga membantu kita untuk mengelompokkan pernyataan sehingga kita dapat menambahkan satu lapisan validasi lagi pada pernyataan yang telah dibuat.

  • DAN: Semua pernyataan dievaluasi sebagai pernyataan VALID yang akan menghasilkan kondisi grup LULUS.
  • OR: Setidaknya satu dari pernyataan dalam kelompok tersebut harus VALID agar kondisi kelompok LULUS dapat dinyatakan.
  • Versi Pro juga memungkinkan Kloning PernyataanOpsi ini memungkinkan penguji untuk mengizinkan penyalinan pernyataan ke langkah pengujian yang berbeda dalam proyek yang sama atau berbeda.
  • Nonaktifkan/Aktifkan Assertion: Opsi ini memungkinkan assertion yang dikelompokkan atau tidak dikelompokkan untuk dinonaktifkan atau diaktifkan. Jika sebuah assertion dinonaktifkan, assertion tersebut akan berwarna abu-abu dan saat kasus uji dijalankan, assertion yang dinonaktifkan tidak akan dieksekusi.
  • Memisahkan Assertion yang Dikelompokkan: Assertion yang dikelompokkan dapat dipisahkan jika penguji memutuskan untuk melakukannya.

Daftar Lengkap Metode yang tersedia dalam berbagai jenis pernyataan

Tabel di bawah ini mengumpulkan setiap pernyataan yang dibahas di atas, dikelompokkan berdasarkan kategori tempat pernyataan tersebut muncul di dialog Tambah Pernyataan.

Mekanisme Penegasan Deskripsi
KONTEN PROPERTI
Mengandung Mencari keberadaan string yang ditentukan. Ini juga mendukung ekspresi reguler.
Tidak Berisi Mencari Ketidakberadaan string yang ditentukan. Ini juga mendukung ekspresi reguler.
Pertandingan XPath Menggunakan ekspresi XPath untuk memilih node target dan nilainya.
Pencocokan XQuery Menggunakan ekspresi XQuery untuk memilih konten dari properti target.
Kepatuhan, Status, Standar
HTTP Unduh semua sumber daya Memvalidasi Dokumen HTML setelah diunduh dan berlaku untuk semua properti yang berisi HTML.
Status HTTP Tidak Valid Codes Memverifikasi apakah respons HTML berisi kode status yang tidak ada dalam daftar kode yang ditentukan.
Bukan Kesalahan SABUN Memverifikasi apakah pesan yang terakhir diterima bukan Kesalahan SOAP. Sangat jelas bahwa ini hanya berlaku untuk Langkah Uji SOAP.
Kepatuhan Skema Memverifikasi apakah pesan yang terakhir diterima sesuai dengan definisi skema standar WSDL atau WADL. Berlaku baik untuk Langkah Uji SOAP dan REST.
Kesalahan SABUN Memverifikasi apakah pesan yang terakhir diterima adalah Kesalahan SOAP. Ini adalah kebalikan dari Pernyataan Kesalahan 'NOT SOAP'.
Respon SABUN Memverifikasi apakah respons yang terakhir diterima adalah Respon SOAP yang valid dan berlaku hanya untuk Langkah Permintaan Pengujian SOAP.
Status HTTP Valid Codes Memverifikasi apakah respons HTML berisi kode status yang ada dalam daftar kode yang telah ditentukan. Ini adalah kebalikan dari 'Status HTTP Tidak Valid'. CodePernyataan s.
Permintaan Pengalamatan WS Memverifikasi apakah permintaan yang terakhir diterima berisi Header Pengalamatan WS yang sesuai.
Respon Pengalamatan WS Memverifikasi apakah respons yang terakhir diterima berisi Header Pengalamatan WS yang sesuai.
Status Keamanan WS Memvalidasi jika pesan terakhir yang diterima berisi header WS-Security yang valid dan hanya berlaku untuk Permintaan SOAP.
Naskah
Penegasan Naskah Memungkinkan pengguna menjalankan skrip khusus untuk melakukan validasi yang ditentukan pengguna.
SLA
Respon SLA Memvalidasi jika waktu respons dari respons yang terakhir diterima berada dalam batas yang ditentukan.
J.M.S.
Status JMS Memverifikasi apakah permintaan JMS dari Langkah Pengujian telah berhasil dijalankan dan berlaku untuk Langkah Pengujian dengan titik akhir JMS.
Batas Waktu JMS Memverifikasi apakah respons JMS dari langkah pengujian tidak memakan waktu lebih lama dari durasi yang ditentukan.
Security
Paparan Informasi Sensitif Memverifikasi apakah pesan respons tidak memaparkan informasi sensitif tentang sistem target. Kita dapat menggunakan pernyataan ini untuk Langkah Pengujian REST, SOAP, dan HTTP.

UNDUH PROYEK SOAPUI YANG MENGANDUNG PERNYATAAN DI ATAS

Kesalahan Umum dan Pemecahan Masalah

Sebagian besar kegagalan pernyataan trackembali ke sejumlah kecil kesalahan, jadi periksa ini sebelum menulis ulang sebuah ekspresi.

  • Gunakan namespace yang benar. Namespace yang benar adalah... URL di mana layanan web tersebut berada.
  • Jika terjadi kesalahan saat pengembanganping Sebagai pernyataan skrip, gunakan 'log.info' untuk mencetak isi variabel.
  • Jika Anda belum memperoleh keluaran yang diinginkan, verifikasi apakah masukan yang valid telah diberikan dalam permintaan.

Sebagai contoh, pada konverter mata uang, jika Anda memasukkan 'intA' sebagai 'x' yang bukan bilangan bulat, output akan menampilkan kode kesalahan 'SOAP-Client' yang berarti masalahnya terletak pada parameter yang dikirim dari sisi klien. Permintaan yang membawa nilai yang tidak valid akan ditampilkan terlebih dahulu.

SoapUI Permintaan mengirimkan nilai non-integer yang tidak valid untuk intA.

Respons yang diberikan berupa kode kesalahan, bukan hasil, seperti yang ditunjukkan di bawah ini.

Kode kesalahan klien SOAP dikembalikan dalam SoapUI editor respons

Pastikan Anda menggunakan sintaks yang benar saat menggunakan pernyataan XPath dan XQuery. Anda TIDAK boleh menggunakan titik (.) sebagai pengganti titik dua (:) saat menggunakan pernyataan di atas. Sintaksnya adalah //namespace:Tagname dan BUKAN //namespace.tagname. Dengan melakukan itu, Anda mungkin akan mendapatkan pesan 'Tidak ada kecocokan dalam respons saat ini' meskipun nama tag sudah benar.

Kesalahan "NO match in current response" disebabkan oleh sintaks XPath yang salah.

Pertanyaan Umum Demo Slot

Berapa pun jumlahnya. SoapUI Menerapkan setiap pernyataan yang terlampir pada langkah pengujian sampler setelah dieksekusi, dan langkah tersebut ditandai gagal dalam tampilan kasus uji jika salah satu pernyataan tersebut gagal.

Metode ini membandingkan pesan XML dengan dokumen yang diharapkan, node demi node, sehingga bidang-bidang tertentu dapat diabaikan atau dicocokkan secara longgar, alih-alih memperlakukan seluruh muatan sebagai satu string biasa.

Open-source SoapUI Mencakup Konten Properti, Kepatuhan, Skrip, SLA, JMS, dan Keamanan. ReadyAPI menambahkan grupping, kloning, pemeriksaan JDBC, dan mengaktifkan atau menonaktifkan kontrol.

Model AI membaca contoh respons dan menyarankan ekspresi XPath atau XQuery, mengusulkan nilai batas, dan menandai bidang yang berubah pada setiap eksekusi — secara signifikan mengurangi pekerjaan penulisan namespace dan ekspresi secara manual.

Ya. Copilot pelengkapan otomatis GroovyKode standar untuk utilitas dan XmlHolder. Selalu jalankan skrip terlebih dahulu, karena skrip yang valid secara sintaksis akan melaporkan "Script Assertion Passed" terlepas dari perbandingan yang Anda lakukan.

Ya. Bidang konten pernyataan mendukung perluasan properti, sehingga nilai yang diharapkan dapat diambil dari properti proyek atau kasus uji, bukan literal, yang membuat satu pernyataan dapat digunakan kembali di berbagai lingkungan.

Pernyataan yang gagal menandai langkah pengujiannya sebagai gagal dalam tampilan kasus uji dan menulis entri GAGAL yang sesuai, dengan detail kegagalan, ke dalam Log Eksekusi Pengujian di bagian bawah jendela.

Berisi, Tidak Berisi, Kecocokan XPath, Kecocokan XQuery, SLA Respons, Skrip, kode status HTTP yang valid dan tidak valid, Paparan Informasi Sensitif, dan Kepatuhan Skema terhadap WADL atau skema yang disimpulkan.

Ringkaslah postingan ini dengan: