İddialar SoapUI: Komut Dosyaları, XQuery, XPath Türleri

⚡ Akıllı Özet

İddialar SoapUI Bunlar, bir web servis yanıtının doğru olup olmadığına karar veren kontrol noktalarıdır; yalnızca yürütülen bir isteği, gerçek ve doğrulanabilir içerik üzerinde başarılı veya başarısız olan bir teste dönüştürürler.

  • 🔘 Kategoriler: Mülk İçeriği, Uyumluluk/Durum/Standartlar, Komut Dosyası, SLA, JMS ve Güvenlik.
  • ☑️ içeren: Yanıt içerisinde bir metin dizisinin mevcut olduğunu, normal ifade desteğiyle doğrular.
  • İçermez: Bir dizenin bulunmadığını doğrular; hata belirteçleri ve sızdırılmış alanlar için kullanışlıdır.
  • 🧪 XPath Eşleşmesi: Önce ad alanını tanımlayın, ardından bir düğümü hedefleyin ve değerini karşılaştırın.
  • XQuery Eşleşmesi: Aksi takdirde yüzlerce XPath kontrolü gerektirecek olan tekrarlayan düğüm kümelerini doğrular.
  • 📊 Senaryo: Groovy Doğrulama işlemleri, dinamik yanıtları ve kurulum veya kaldırma mantığını ele alır.
  • 🔍 Sorun Giderme: Yanlış ad alanı ve iki nokta üst üste yerine nokta kullanılması, hataların çoğuna neden olur.

İddialar SoapUI

İddia Nedir?

İddia, bir şeyi onaylama veya belirtme eylemi anlamına gelir. Aynı zamanda kontrol noktası veya doğrulama noktası olarak da yorumlanabilir.

Bir web sunucusuna istek gönderildikten sonra bir yanıt alınır. Yanıtın beklediğimiz verileri içerip içermediğini doğrulamamız gerekir. Yanıtı doğrulamak için onaylamalar (assertions) kullanmalıyız. Onaylama olmadan, bir test adımı yalnızca hizmetin yanıt verdiğini kanıtlar, doğru yanıt verdiğini değil; bu nedenle her test adımının doğru yanıt verdiğini kanıtlaması gerekir. API testi En az bir tane taşımalıdır.

İddia Türleri

Bir yanıtı belirtmenin çeşitli yolları vardır; ancak biz yaygın olarak kullanılanlara odaklanacağız. SoapUI Yanıtı doğrularken kullanılan doğrulama türleri aşağıda listelenmiştir. Açık kaynak sürümünde bulunan kategoriler şunlardır: SoapUI.

  1. Mülk İçeriği
  2. Uyumluluk Durumu Standardı
  3. Senaryo
  4. SLA
  5. JMS
  6. Güvenlik

Aşağıdaki ekran görüntüsünde de görüldüğü gibi, diyalog kutusu her iddiayı bu kategoriler altında gruplandırır.

Listelenen iddia kategorileri SoapUI Onay Ekle iletişim kutusu
İddiaların Türleri SoapUI

Yukarıda listelenenlerin dışında, Pro sürümünde ayrıca web servisinin veritabanını doğru şekilde güncelleyip güncellemediğini doğrulamamızı sağlayan yerleşik bir JDBC Doğrulama özelliği de bulunmaktadır.

Sürüm notu: akım SoapUI belgelerde ayrıca şunlar da listelenmiştir: JDBC Yukarıdaki kategorilerin yanı sıra (JDBC Durumu ve JDBC Zaman Aşımı) kategorisi ve bir Mesaj içeriği Daha zengin XML karşılaştırması için Özellik İçeriği içindeki iddia. Burada "Pro" olarak adlandırılan ticari sürüm artık şu şekilde satılmaktadır: ReadyAPI SmartBear tarafından geliştirildiği için, daha yeni sürümlerdeki menü etiketleri farklı görünebilir ancak doğrulama davranışı aynı kalır.

İddia İçerir

Belirtilen dizenin varlığını arar. Ayrıca düzenli ifadeyi de destekler.

Önceki eğitimdeki aynı örneği WSDL isteği ile devam ettireceğiz. http://www.dneonline.com/calculator.asmxHenüz o projeyi oluşturmadıysanız, üzerinde çalışmaya başlayın. proje, test paketi ve test senaryosu oluşturma İlk.

Adım 1: Varsayılan olarak hiçbir doğrulama işlemi yapılmamıştır.

  1. İddia Sayısı İddialar Sekmesinde gösterilir.
  2. Yeni bir iddia eklemek için 'Yeni İddia Ekle' butonuna tıklayın.

SoapUI İddialar sekmesinde hiçbir iddia görünmüyor ve Yeni İddia Ekle düğmesi yer alıyor.

Adım 2: Şimdi,

  1. İddia Kategorisini seçin.
  2. Onay Türünü seçin.
  3. 'Ekle'yi tıklayın

Doğrulama kategorisi ve türü seçili olarak Doğrulama Ekle iletişim kutusuna girin.

Adım 3: Yanıtta '46' dizesinin mevcut olup olmadığını doğrulayalım. 'Tamam'a tıklayın.

Not: Ayrıca büyük/küçük harf durumunu göz ardı edip normal ifade de ekleyebiliriz.

İçerisinde 46 değeri girilmiş Onay yapılandırma iletişim kutusu bulunmaktadır.

4. Adım: Eklendikten hemen sonra doğrulama işlemi gerçekleştirilir ve geçerli veya geçersiz olduğu gösterilir.

Doğrulama sekmesi, "İçerir" doğrulamasının GEÇERLİ olduğunu bildiriyor.

Adım 5: Şimdi 'Contains Assertion in' içeriğini değiştirdiğimizi varsayalım. SoapUI'47'ye kadar gidip neler olacağını görün.

"İçerir" ifadesinin içeriğini 46'dan 47'ye düzenleme.

Adım 6: Doğrulama işlemi gerçekleştirilir ve sonuç kullanıcıya iletilir. Yanıtta '47' dizesi bulunmadığı için doğrulama başarısız olmuştur.

Doğrulama sekmesi, "İçerir" doğrulamasının başarısız olduğunu bildiriyor.

İddia İçermiyor

Bunun tersi de geçerlidir. Belirtilen dizenin yokluğunu arar. Ayrıca düzenli ifadeleri de destekler.

Adım 1: 'Yeni doğrulama ekle' düğmesine tıkladıktan sonra,

  1. İddia Kategorisini seçin.
  2. Onay Türünü Seçin – Bu durumda 'İÇERMEZ'
  3. 'Ekle'yi tıklayın

"İçermez" seçeneği işaretli olarak Onay Ekle iletişim kutusuna

Adım 2: Yanıtta 'intA' dizesinin mevcut olup olmadığını doğrulayalım. 'FromCurrency' dizesini girin ve 'Tamam'ı tıklayın.

"FromCurrency" dizesi girildiğinde "İçermez" onay iletişim kutusu

3. Adım: Bir doğrulama eklendiği anda, bu doğrulama yürütülür ve sonuç görüntülenir. Şimdiye kadar iki doğrulama ekledik, bu nedenle her iki doğrulama da yürütüldü ve sonuç görüntülendi.

Doğrulama sekmesi, hem İçerir hem de İçermez sonuçlarını listeler.

Adım 4: Şimdi 'İçermez Doğrulaması'nın içeriğini değiştirelim ve ne olduğunu görelim. "AddResult" dizesinin mevcut olmamasını kontrol edeceğiz.

"İçermiyor" onay iletişim kutusu, AddResult belirtecinin kontrolünü yapıyor.

Adım 5: 'AddResult' dizesi yanıtta gerçekten mevcut olduğundan, aşağıdaki gibi 'İçermez' doğrulaması başarısız olacaktır.

"İçermez" doğrulaması, AddResult'ın mevcut olması nedeniyle başarısız oluyor.

XPath Eşleşme İddiası

Dize eşleştirmesi yetersiz olduğundan, bir sonraki doğrulama tek bir düğümü hedef alıyor. Hedef düğümü ve değerlerini seçmek için XPath ifadesi kullanılıyor. XPathXML belgesinden düğümleri seçmek için kullanılan bir XML sorgu dilidir.

Adım 1: 'Yeni Doğrulama Ekle' düğmesine tıkladıktan sonra,

  1. İddia Kategorisini seçin.
  2. İddia Türünü Seçin – Bu durumda 'XPath Match'
  3. 'Ekle'yi tıklayın

XPath Eşleşmesi seçili olan Doğrulama Ekle iletişim kutusunu ekle

Adım 2: XPath Ekle penceresi açılır.

Eklemeden önce SoapUI XPath'te ad alanını bildirmemiz gerekiyor. XML ad alanı, XML belgelerinde öğe ve öznitelik adları olarak kullanılan ve Tekdüzen Kaynak Tanımlayıcısı (URI) referansı ile tanımlanan adlar koleksiyonudur. Aynı durum XML'de de geçerlidir. SoapUI XPath Doğrulama.

XML ad alanı tanımlamak için 'Tanımla' düğmesine tıklamamız yeterlidir, bu işlem bizim için otomatik olarak yapılır; dilersek ad alanını manuel olarak da kendimiz tanımlayabiliriz.

Ad alanını tanımladıktan sonra, oluşturulan ad alanını kullanarak XPath'e başvurmamız gerekiyor.

'Bildir' düğmesine tıkladığınızda, iki URI'miz olduğu için iki ad alanı açılacaktır. Bunlardan biri şemadır. URL ve diğeri de gerçek web hizmetine karşılık geliyor. URLXPath referansı verirken, şema ad alanını DEĞİL, web servisinin bulunduğu gerçek ad alanını kullanmalıyız. Tanımlanan satırlar, aşağıda gösterildiği gibi XPath kutusunun en üstünde görünür.

XPath doğrulama penceresi içinde soap ve ns1 ad alanları tanımlandı.

ad alanını beyan edin sabun='http://schemas.xmlsoap.org/soap/envelope/';

ad alanını bildirin ns1='http://tempuri.org/';

"Bildir"e tıkladıktan hemen sonra XPath doğrulama penceresi açılır.

Adım 3: Şimdi doğrulamak istediğimiz XML düğümünün XPath'ini girmemiz gerekiyor.

//ns1:AddResult Aradaki düğümün değerini bize verir & ve ns1, 'http://tempuri.org/' adresine işaret eden bildirilen ad alanına karşılık gelir

XML'i girdikten sonra, 'Geçerliden seç' seçeneğine tıklamamız gerekir, böylece mevcut yanıttan değer ileriye dönük karşılaştırma için alınır.

Geçerli olarak vurgulananlardan seçim yapılarak girilen XPath ifadesi

Adım 4: Şimdiye kadar,

  1. Ad alanlarını bildirdikten sonra Validate yapmamız gereken XML düğümünün XPath’ını girmiş olduk.
  2. Mevcut değeri beklenen değer yapmak için 'Geçerliden Seç'e tıklamamız gerekiyor.
  3. Gerektiğinde değiştirebileceğimiz mevcut değer kullanıcıya gösterilir.
  4. 'Kaydet'i tıklayın.

Beklenen değeri ve Kaydet düğmesini gösteren XPath Eşleştirme yapılandırması

Adım 5: Eklenen Doğrulama SoapUI Aşağıda gösterildiği gibi görüntülenecektir.

Eklenen XPath Eşleşmesi onayını gösteren Onaylar sekmesi

Komut Dosyası İddiaları

Bu İddia tekniği, yüzlerce iddiayı yönetmek ve sürdürmek son derece zor olduğundan en yaygın kullanılan tekniktir.

SoapUI ya kullanır Groovy Komut dosyası oluşturma veya JavaSenaryo Doğrulama işlemlerinin betiklenmesi için. Betikleme tekniği geliştirme için benimsenmiştir.ping SOAP testleri için bir çerçeve. Komut dosyası doğrulama işlemleri aşağıdaki durumlarda kullanılır.

  • Betikleme, kullanıcının test senaryosunu çalıştırmadan önce ve sonra sırasıyla kurulum ve sonlandırma yöntemlerini kullanarak bazı işlemleri gerçekleştirmesine olanak tanır. Kurulum, belirli bir yöntemi çalıştırmadan önce yürütülen bir prosedürdür (örneğin: Nesne oluşturma ve başlatma), sonlandırma ise yöntemi çalıştırdıktan sonra yürütülen bir prosedürdür (örneğin: Nesneleri yok etme ve temizleme). Bu özellik diğer doğrulama türlerinde mevcut değildir ve yalnızca kodlama yoluyla yapılabilir.
  • Bu özellik, kullanıcıların bir projeyi açıp kapatmasına, proje ile ilgili ayarları başlatmasına veya temizlemesine ve ayrıca betik oluşturma sırasında çok faydalı olan ortam değişkenleriyle çalışmasına olanak tanır.
  • Dinamik bir Yanıt içeriği sunmamıza yardımcı olur.
  • Komut dosyası onaylamaları, önceden tanımlanmamış, kullanıcı tanımlı onaylamalar oluşturmak için kullanılır. SoapUI.

Bir komut dosyası iddiasını göstermek için SoapUIHesap makinesi WSDL'sini ve daha önce oluşturduğumuz 'Toplama' test durumunu kullanacağız.

Adım 1: Groovy betiği ekleme adımları, diğer doğrulama işlemleriyle aynıdır; tek fark, doğrulama işleminin önceden tanımlanmış bir doğrulama olmamasıdır. Bunun yerine, yerleşik olanlardan daha fazla esneklik sunan, kullanıcı tanımlı bir doğrulama işlemidir.

İddianın eklenmesi gereken Test adımını seçin.

Seçilen test adımı SoapUI Bir doğrulama eklemeden önce gezgin

Aşağıda gösterildiği gibi 'Onay Ekle' Düğmesine tıklayın.

Test adımı doğrulama araç çubuğundaki Doğrulama Ekle düğmesi

Adım 2: Şimdi Doğrulama kategorisini seçin.

  1. Bu durumda Script'tir.
  2. Seç SoapUI Komut Dosyası Doğrulaması ve bununla ilişkili alt türler bulunmamaktadır.
  3. 'Ekle'yi tıklayın.

Komut Dosyası kategorisi seçili olan Doğrulama Ekle iletişim kutusunu açın.

3. Adım: Kullanıcının yanıt XML'ini doğrulamak için kullanıcı tanımlı komut dosyası yazabileceği Komut Dosyası İletişim Kutusu açılır.

boş SoapUI komut dosyası doğrulama düzenleyici iletişim kutusu

Adım 4: Şimdi Dönüşüm Oranını doğrulamak için bir Groovy betiği yazalım. Betik, içine yerleştirilmiş yorumlarla birlikte aşağıda eklenmiştir. Groovy konusunda bilgi sahibi olmanız önerilir. Java Senaryo veya Groovy Kendi betiğinizi yazmaya çalışmadan önce betik.

//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. Yürütmeyi tetiklemek için 'Yürüt' Düğmesine tıklayın.
  2. Komut dosyasının çıktısı Çıktı bölmesinde gösterilir. Hem Dönüşüm Değerini hem de nihai sonucu (Geçti veya Kaldı) yazdırdı.
  3. 'Komut Dosyası Onayı Geçti' bilgisi görüntülenir. Tamam'ı tıklayın.

Not: Komut dosyası sözdizimsel olarak doğru olduğu sürece, son Bilgi açılır penceresi her zaman 'Komut Dosyası Onayı Geçildi' mesajıyla birlikte görüntülenecektir. Senaryodaki iddianızla hiçbir ilgisi yok.

Komut dosyası doğrulama çıktısı bölmesi, sonuç değerini ve "Geçti" ibaresini yazdırıyor.

Tamam'ı tıklayın.

Adım 5: Şimdi Doğrulama sekmesinde, bu test paketi için eklediğimiz tüm doğrulamalar ve her birinin durumu görüntülenir.

Doğrulama sekmesi, test paketine eklenen her doğrulama ifadesini listeler.

Adım 6: Şimdi

  1. Navigatör ağacından Test Paketini seçin
  2. 'Çalıştır' Düğmesine tıklayın
  3. Sonuçlar tüm test paketi için görüntülenecektir.

Tüm doğrulama işlemlerinin yürütülmesinden sonra test paketi çalıştırma sonuçları

XQuery Eşleşme Doğrulaması

Hedef özellikten içerik seçmek için bir XQuery ifadesi kullanır. XQuery ifadesini daha iyi anlayabilmek için çok daha büyük bir yanıt XML'ine ihtiyacımız var. SoapUIAşağıda gösterildiği gibi başka bir WSDL dosyasını içe aktaralım: http://www.webservicex.net/medicareSupplier.asmx?WSDL

Not: Bu kılavuzda kullanılan webservicex.net genel demo uç noktalarına artık güvenilir bir şekilde erişilemiyor, bu nedenle aşağıdaki istek ve yanıt ekran görüntüleri referans örnek olarak saklanmıştır. Tekrarlayan bir düğüm kümesi döndüren herhangi bir WSDL, XQuery doğrulamasını tam olarak aynı şekilde çalıştıracaktır.

Adım 1: Mevcut projeye sağ tıklayın ve 'WSDL Ekle' seçeneğini seçin.

Sağ tıklama menüsü SoapUI WSDL eklemeyi gösteren proje

Adım 2: WSDL Ekle iletişim kutusu açılır. Diğer seçenekleri varsayılan olarak bırakın ve 'Tamam' düğmesine tıklayın.

Varsayılan içe aktarma seçenekleriyle WSDL ekle iletişim kutusu

Adım 3: Tüm işlemler aşağıda gösterildiği gibi listelenmiştir.

Navigasyon ağacında listelenen Medicare tedarikçisi WSDL işlemleri

Adım 4: Şimdi bir tane daha ekleyelim. Test Durumu için oluşturduğumuz aynı test paketinde Test yapmak para birimi dönüştürücü.

Mevcut test paketine yeni TestCase seçeneği ekleme

Adım 5: Test senaryosunun adını girin ve 'Tamam' düğmesine tıklayın.

Yeni Test Senaryosu iletişim kutusuna test senaryosu adını girme

Adım 6: Test senaryosu aşağıda gösterildiği gibi oluşturulur.

Yeni oluşturulan test senaryosu SoapUI gezgin ağacı

Adım 7: Aşağıda gösterildiği gibi 'Soap Test İsteği' türünde yeni bir test adımı ekleyin.

SOAP Test İsteği seçiliyken Adım Ekle menüsüne bakın.

Adım 8: Test adımının adını girin. Örneğin, daha anlamlı olacak şekilde "Supplier_by_City" diyelim. 'Tamam'ı tıklayın.

Yeni test adımına Supplier_by_City adını veriyoruz.

Adım 9: Seçin Operadoğrulamak istediğimiz bir şey. Bu durumda 'MedicareSupplierSoap -> GetSupplierByCity'. 'Tamam'a tıklayın.

Test adımı için GetSupplierByCity işlemini seçme

Adım 10: Test senaryosunun adını girin ve 'Tamam'ı tıklayın.

SOAP test isteği adının onaylanması

Adım 11: İstek XML Anahatı aşağıda gösterildiği gibi görüntülenecektir.

Oluşturulan GetSupplierByCity isteği XML taslağı

Adım 12: Şimdi 'New York' şehri için tüm tedarikçi bilgilerini bulalım.

Bunu yapmak için kodunuza aşağıdaki satırları ekleyin.

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

<City>New York</City>

</GetSupplierByCity>

Aşağıdaki WSDL dosyasında URL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity

New York'un Şehir değeri olarak eklendiği XML isteği düzenlendi.

Adım 13: Testi çalıştırdığımızda aşağıdaki yanıtı alıyoruz.

GetSupplierByCity yanıtı, tekrarlanan tedarikçi kayıtlarını içeriyor.

Adım 14: Diyelim ki tüm Tedarikçi Numaralarını doğrulamamız gerekiyor. Yüzlerce XPath Doğrulaması yapmamız gerekeceği için XPath Doğrulaması kullanamayız. Bu nedenle bu durumda XQuery kullanımı kaçınılmazdır.

XQuery Assertion, doğası gereği tekrarlanan bir grup XML yanıtını doğrulamamıza yardımcı olur.

XQuery'nin yineleyeceği SupplierData düğümlerini tekrarlamak.

Adım 15: Şimdi 'Bir doğrulama ekle' seçeneğine tıklayın.

  1. Bu durumda 'İddia Kategorisi' – Mülk İçeriği'ni seçin.
  2. Onay Türünü 'XQuery Onay' olarak seçin
  3. 'Ekle'yi tıklayın.

Özellik İçeriği kategorisinde XQuery Doğrulaması seçildi.

Adım 16: XPath Doğrulamasına benzer şekilde, ad alanını tanımlamamız gerekiyor.

  1. Otomatik olarak izin vermek için 'Bildir' düğmesine tıklayın. SoapUI Ad alanını bildirmek için. "Bildir" düğmesine tıkladığınızda, kullanıcıya "Ad alanını şemadan bildirin" mesajını içeren bir "açılır pencere" gösterilecektir. Aşağıda gösterildiği gibi devam etmek için "Evet"e tıklayın.
  2. Tüm Tedarikçi Numarasını almak için bir XPath Sorgusu yazmamız gerekiyor ve bunu < TedarikçiNumber> içine yerleştireceğiz ve Etiketler.
  3. Geçerli yanıttan yürütülecek 'Geçerliden Seç'i tıklayın.
  4. 'Mevcut Olanlardan Seç'e tıkladığınızda, tüm tedarikçi numaraları listelenir.
  5. 'Kaydet'i tıklayın.

Şemadan ad alanı bildirme onay açılır penceresi

Not: 'Bildir' düğmesine tıkladığınızda farklı sonuçlarla karşılaşabilirsiniz. URL's' bir ad alanı bildirimi olarak kullanılır, ancak kodlama için dikkate alınacak olan asıl web servis konumunun ad alanıdır.

İsim alanı bildirimleriyle birlikte tamamlanmış XQuery ifadesi şu şekilde görünür.

// 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)}
}

XQuery ifadesi penceresi, her tedarikçi numarasını listeliyor.

Adım 17: XQuery doğrulama işlemi yürütülür ve nihai sonuç aşağıdaki gibi 'Doğrulama' panelinde görüntülenir. Artık tüm tedarikçi numarası bilgilerini doğruladığımız bir XQuery doğrulama işlemini başarıyla ekledik. Bu doğrulama, istek web sunucusuna her gönderildiğinde gerçek değerlerle karşılaştırılacaktır.

Not: Gerçek değerler görüntülenmez. Tüm gerçek değerler beklenen değerlerle aynıysa, GEÇERLİ olarak görüntülenir, aksi takdirde 'Başarısız' olarak görüntülenir.

XQuery doğrulama sonucunu gösteren Doğrulama paneli

Dahili Onaylama Ne Zaman Kullanılır?

Hem tıklama tabanlı hem de komut dosyası tabanlı seçenekler ele alındığına göre, pratik soru hangisine yönelmek gerektiğidir.

  • Bir Yanıt, bu yerleşik iddialardan biri kullanılarak doğrulanabilecek kadar kısa olduğunda.
  • Web sunucusundan gönderilen yanıtın doğası gereği her zaman statik olması durumunda Dahili Onaylamayı da kullanabiliriz. Dinamikse, yerleşik iddiaları kullanarak bunu iddia edemeyiz.
  • Zaman aşımı iddiaları ve güvenlik iddiaları gibi yerleşik iddiaların kullanımı kaçınılmaz hale geldiğinde.
  • Dahili İddialar, testlerin tekrarlanmasına gerek olmayan tek seferlik kullanım için oldukça iyidir.

İddia Seçenekleri

Oluşturulan iddialar en iyi şekilde aşağıda vurgulanan kontrol paneli yardımıyla kontrol edilebilir.

Doğrulama araç kutusu kontrol paneli SoapUI

Oluşturulan doğrulamalar, test uzmanlarının doğrulama araç kutusundan aşağıdaki şeyleri yapılandırmasına olanak tanır.

Opsiyon Açıklama
Onay simgesini yukarı taşı Seçilen Onay sıralamayı yukarı taşır.
Onay simgesini aşağı taşı Seçilen Onay sıralamada aşağı doğru hareket eder.
Onay simgesini kaldır Seçilen Onaylamayı Kaldırır
Onay simgesini yapılandırın veya düzenleyin Seçilen Onaylamayı Yeniden Yapılandırın/Düzenleyin.

Aşağıda, yalnızca Pro sürümünde bulunan özellikler yer almaktadır. SoapUIşimdi şu şekilde gönderiliyor: ReadyAPIPro sürümü ayrıca, oluşturulan doğrulama işlemlerine bir doğrulama katmanı daha ekleyebilmemiz için doğrulama işlemlerini gruplandırmamıza yardımcı olur.

  • VE: Tüm iddialar GEÇERLİ iddia olarak değerlendirilir ve bu da grup koşulunun GEÇTİĞİ sonucunu doğurur.
  • TD: Grup içindeki önermelerden en az birinin geçerli olması, grup "geçti" koşulunun doğrulanabilmesi için gereklidir.
  • Pro Sürümü ayrıca izin verir İddiaların KlonlanmasıBu seçenek, test uzmanlarının bir doğrulama ifadesini aynı veya farklı bir projedeki farklı bir test adımına kopyalamasına olanak tanır.
  • Doğrulama İşlemlerini Devre Dışı Bırak/Etkinleştir: Bu seçenek, gruplandırılmış veya gruplandırılmamış herhangi bir doğrulama işleminin devre dışı bırakılmasına veya etkinleştirilmesine olanak tanır. Bir doğrulama işlemi devre dışı bırakılırsa, gri renkte gösterilir ve bir test senaryosu yürütüldüğünde, devre dışı bırakılmış doğrulama işlemleri yürütülmez.
  • Gruplandırılmış Doğrulama İşlemlerini Kaldırma: Test uzmanları isterlerse, gruplandırılmış tüm doğrulama işlemleri gruplandırmadan kaldırılabilir.

Çeşitli iddia türlerinde mevcut olan Yöntemlerin Tam Listesi

Aşağıdaki tabloda, yukarıda tartışılan tüm iddialar, İddia Ekle iletişim kutusunda göründükleri kategoriye göre gruplandırılmış olarak toplanmıştır.

İddia Mekanizması Açıklama
GAYRİMENKUL İÇERİĞİ
İçeren Belirtilen dizenin varlığını arar. Ayrıca düzenli ifadeyi de destekler.
İçermiyor Belirtilen dizenin yokluğunu arar. Ayrıca düzenli ifadeyi de destekler.
XPath Maçı Hedef düğümü ve değerlerini seçmek için XPath ifadesini kullanır.
XQuery Eşleşmesi Hedef özellikten içerik seçmek için bir XQuery ifadesi kullanır.
Uyumluluk, Durum, Standartlar
HTTP Tüm kaynağı indir İndirdikten sonra HTML Belgesini doğrular ve HTML içeren herhangi bir özellik için geçerli olur.
Geçersiz HTTP Durumu Codes HTML yanıtının, tanımlanmış kodlar listesinde olmayan bir durum kodu içerip içermediğini doğrular.
SABUN Arızası Değil Son alınan mesajın bir SOAP Arızası olup olmadığını doğrular. Sadece SABUN Test Adımları için geçerli olduğu çok açıktır.
Şema Uyumluluğu Son alınan mesajın WSDL veya WADL standart şema tanımıyla uyumlu olup olmadığını doğrular. SABUN ve REST Test Adımları için iyidir.
SABUN Arızası Son alınan mesajın bir SOAP Arızası olup olmadığını doğrular. 'SABUN DEĞİL' Arıza İddialarının tersidir.
SABUN Tepkisi Alınan son yanıtın geçerli bir SOAP Yanıtı olup olmadığını ve yalnızca SOAP Test İsteği Adımları için geçerli olup olmadığını doğrular.
Geçerli HTTP Durumu Codes HTML yanıtının, tanımlanmış kodlar listesinde yer alan bir durum kodu içerip içermediğini doğrular. Bu, 'Geçersiz HTTP Durumu'nun tersidir. Codes'nin İddiası.
WS-Adresleme İsteği Son alınan isteğin uygun WS Adresleme Başlıklarını içerip içermediğini doğrular.
WS-Adresleme Yanıtı Alınan son yanıtın uygun WS Adresleme Başlıklarını içerip içermediğini doğrular.
WS-Güvenlik Durumu Son alınan mesajın geçerli WS-Security üstbilgileri içerip içermediğini doğrular ve yalnızca SOAP İstekleri için geçerli olur.
Senaryo
Komut Dosyası Onayı Kullanıcıların, kullanıcı tanımlı doğrulamaları gerçekleştirmek için özel bir komut dosyası yürütmesine olanak tanır.
SLA
Yanıt SLA'sı Alınan son yanıtın yanıt süresinin tanımlanan sınır dahilinde olup olmadığını doğrular.
JMS
JMS Durumu Test Adımının JMS isteğinin başarıyla yürütülüp yürütülmediğini ve bir JMS uç noktasına sahip Test Adımları için geçerli olup olmadığını doğrular.
JMS Zaman Aşımı Bir test adımının JMS yanıtının belirtilen süreden uzun sürmediğini doğrular.
Güvenlik
Hassas Bilgilerin Açıklanması Yanıt mesajının hedef sistemle ilgili hassas bilgileri açığa çıkarıp çıkarmadığını doğrular. Bu iddiayı REST, SOAP ve HTTP Test Adımları için kullanabiliriz.

YUKARIDAKİ İDDİALARI İÇEREN SOAPUI PROJESİNİ İNDİRİN

Yaygın Hatalar ve Sorun Giderme

Çoğu iddia hatası tracBirkaç hataya geri dönelim, bu nedenle bir ifadeyi yeniden yazmadan önce bunları kontrol edin.

  • Doğru ad alanını kullanın. Ad alanı şu şekilde olmalıdır: URL Web hizmetinin bulunduğu yer.
  • Geliştirme sırasında bir hata oluşursaping Bir komut dosyası doğrulama işlemi için, değişkenlerin içeriğini yazdırmak üzere 'log.info' kullanın.
  • Eğer istediğiniz çıktıyı alamadıysanız, istekte geçerli bir girdinin iletildiğini doğrulayın.

Örneğin, para birimi dönüştürücüsünde, 'intA' değerini tam sayı olmayan 'x' olarak girerseniz, çıktı 'SOAP-Client' hata kodunu verir; bu da sorunun istemci tarafından iletilen parametreyle ilgili olduğu anlamına gelir. Geçersiz değer taşıyan istek önce gösterilir.

SoapUI intA için geçersiz, tamsayı olmayan bir değer iletilmesi isteği

Yanıt, aşağıda gösterildiği gibi bir sonuç yerine hata kodunu döndürür.

SOAP istemcisinde döndürülen hata kodu SoapUI yanıt editörü

XPath ve XQuery doğrulamalarını kullanırken doğru sözdizimini kullandığınızdan emin olun. Yukarıdaki doğrulamayı kullanırken iki nokta üst üste (:) yerine nokta (.) kullanmamalısınız. Sözdizimi //namespace:Tagname şeklindedir, //namespace.tagname şeklinde DEĞİLDİR. Bunu yaparsanız, etiket adı doğru olsa bile 'Geçerli yanıtta eşleşme yok' mesajıyla karşılaşabilirsiniz.

Geçerli yanıtta eşleşme bulunamadı hatası, hatalı XPath sözdiziminden kaynaklanmaktadır.

SSS

Herhangi bir sayı. SoapUI Bir örnekleyici test adımının yürütülmesinden sonra, o adıma bağlı tüm doğrulamaları uygular ve bu doğrulamalardan yalnızca biri bile başarısız olursa, test durumu görünümünde adım başarısız olarak işaretlenir.

XML mesajını beklenen belgeyle düğüm düğüm karşılaştırır; böylece seçilen alanlar, tüm veriyi tek bir düz metin dizesi olarak ele almak yerine göz ardı edilebilir veya gevşek bir şekilde eşleştirilebilir.

Açık kaynak SoapUI Mülk İçeriği, Uyumluluk, Komut Dosyası, SLA, JMS ve Güvenlik konularını kapsar. ReadyAPI grup eklerpingKlonlama, JDBC kontrolleri ve etkinleştirme veya devre dışı bırakma denetimi.

Yapay zekâ modelleri örnek bir yanıtı okuyarak XPath veya XQuery ifadeleri önerir, sınır değerleri sunar ve her çalıştırmada değişen alanları işaretler; bu da elle yazılan ad alanı ve ifade çalışmalarını önemli ölçüde azaltır.

Evet. Yardımcı pilot otomatik tamamlamalar GroovyUtils ve XmlHolder şablonları. Her zaman önce betiği çalıştırın, çünkü sözdizimsel olarak geçerli bir betik, karşılaştırmanızdan bağımsız olarak "Betik Doğrulaması Başarılı" (Script Assertion Passed) sonucunu verir.

Evet. Doğrulama içerik alanları özellik genişletmeyi destekler, bu nedenle beklenen değer, sabit bir değer yerine bir proje veya test durumu özelliğinden alınabilir; bu da bir doğrulamanın farklı ortamlarda yeniden kullanılabilir olmasını sağlar.

Başarısız bir doğrulama, test senaryosu görünümünde ilgili test adımını başarısız olarak işaretler ve pencerenin altındaki Test Yürütme Günlüğüne, başarısızlık ayrıntısıyla birlikte eşleşen bir BAŞARISIZ girdisi yazar.

İçerir, İçermez, XPath Eşleşmesi, XQuery Eşleşmesi, Yanıt SLA'sı, Komut Dosyası, geçerli ve geçersiz HTTP durum kodları, Hassas Bilgi Açığa Çıkarma ve WADL veya çıkarılmış şemaya karşı Şema Uyumluluğu.

Bu yazıyı şu şekilde özetleyin: