understanding assertions soapui soapui tutorial 5
SoapUI'nin temelleri üzerinde çalışıyoruz. projeler oluşturma, WSDL ekleme, istek gönderme ve yanıt alma ve şimdiye kadar bunlarla uyumlu test varlıkları oluşturmak.
Bu 5. SoapUI eğitiminde, SoapUI'deki iddialar hakkında her şeyi öğreneceğiz. Size şiddetle tavsiye ediyoruz bu sayfadaki SoapUI eğitim serisinin tamamını takip edin tüm bu temel özellikleri öğrenmek için.
Ne öğreneceksin:
İddialara Giriş
Herhangi bir testte olduğu gibi, sistemin ne yapmasını istediğimizi ve gerçekte ne yaptığını karşılaştırmalıyız, web hizmetleri bağlamında buna belirli bir onay veya iddiaya varmalıyız. Test uzmanları olarak, 1000 hatta milyon test adımı gerçekleştirmemiz önemli değil, ancak bizim için sonuç karşılaştırması bir testin sonucunu belirleyen şeydir.
Bu nedenle, tüm bu makaleyi SoapUI ile bunu nasıl yapabileceğimizi anlamak için harcayacağız, ancak web hizmetleri manuel olarak kullanılabiliyor. Ayrıca, büyük verilere sahip birden çok yanıt ve yanıt olduğunda manuel bir iddia zaman alıcıdır. SoapUI iddiaları bu eksikliklerin üstesinden gelmede mükemmel.
SOAPUI İddiaları yanıt mesajının parçalarını / tamamını beklenen sonuçla karşılaştırın. SoapUI tarafından sağlanan çeşitli iddiaları herhangi bir test adımına ekleyebiliriz. Her bir iddia türü, eşleşen metin, XPATH'ı karşılaştırma gibi yanıt üzerinde belirli doğrulamaları hedefler veya ihtiyacımıza göre sorgular da yazabiliriz.
Test adımları yürütüldüğünde, ilgili testler ilgili test adımları için yanıt alır. Herhangi bir yanıt başarısız olursa, ilgili onay işlenir ve ilgili test adımı başarısız olarak işaretlenir. Bu bildirim, test senaryosu görünümünde görüntülenebilir. Ayrıca, başarısız test adımlarını test yürütme günlüğünde bulabiliriz. Örnek test adımı onay ekranı aşağıdaki gibi görünür:
Yukarıdaki resimde, test adımlarından bazıları BAŞARISIZ ve bazıları BAŞARILI olmuştur. Nedeni iddiadır.
Daha önce tartıştığımız gibi, iddia koşulu beklenen sonuçlarla karşılanmazsa, sonuç BAŞARISIZ olur.
SoapUI'de Farklı Tür İddialarla Çalışma
Şimdi, aşağıdaki gibi farklı iddia türleriyle nasıl çalışılacağını görelim:
- İddialar İçerir ve İçermez
- XPath maçı ve
- XQuery eşleşme iddiaları.
Öncelikle geçerli bir WSDL şema konumuna ihtiyacımız var.
Aşağıdaki adımları izleyin:
Aşama 1. Yeni bir SOAP projesi oluştur CTRL + N tuşlarına basarak ve adımları takip edin. Projeyi oluşturduktan sonra, SOAPUI arayüzlerin listesini ve karşılık gelen istekleri oluşturur.
Adım 2. Test paketini bu projeye eklemek için şu adımları izleyin:
- Arayüz adına sağ tıklayın MedicareSupplierSoap
- Tıklayın Test Takımı Oluştur bağlam menüsünden seçenek
- Açılan aşağıdaki pencerede Tamam'ı tıklayın:
- Bir sonraki açılır pencerede, istediğiniz test paketi adını girmeniz ve Tamam'a tıklamanız gerekir.
- SOAPUI PRO, navigasyon panelindeki isteklerle birlikte test paketini oluşturacaktır.
- Test paketi altında, SOAP isteği adımıyla birlikte bazı test adımlarını göreceksiniz.
Aşama 3. Bu test paketini yürütmek için, istek adımına çift tıklayın ve ilgili konumda giriş değerini belirtin. Örneğin, açın GetSupplierByCity istemek ve girmek New York şehir etiketleri arasında.
- Bu talebi ÇALIŞTIR simgesine tıklayarak başlatın - bu, yanıtı alacaktır.
- Şimdi iddiaları ekleyelim. Bunun için tıklayın İddialar günlük sekmelerinin üstünde bulunan sekme.
- Sağ tıkladığınızda, aşağıdaki gibi bazı temel iddia ile ilgili seçenekleri içeren bir açılır menü görünecektir:
# 1) İddia İçerir
Onay Ekle seçeneğini tıklayın veya araç çubuğundan tıklayın - Onay Ekle penceresi farklı tipte iddialarla ekranda görünür.
1. tıklayın Mülk İçeriği Listedeki kategori - ilişkili onaylama türleri ve açıklamaları görüntülenir
2. tıklayın İçerir onaylayın ve Ekle düğmesini tıklayın
3. Bu, onay yapılandırma penceresidir. Burada, yanıta dayalı olarak beklenen koşulu belirlemeliyiz.
Örnek olarak dır-dirgirmeme izin ver New York Bu metin alanındaki metin. Karşılaştırmada durumu yoksay Beklenen değer büyük veya küçük harf olsa bile onay kutusu yok sayılır.
4. Şimdi test paketini çalıştırın ve sonuçları doğrulayın. Test paketi penceresinde gördüğünüz gibi, yeşil, başarılı yürütmeyi ve kırmızı, başarısızlığı gösterir.
# 2) İddia İçermiyor
Olumsuz senaryolarda istekleri doğrulamak için 'içermez' iddiasını kullanabiliriz. Kullanabiliriz GetSupplierByZipCode bunu öğrenme isteği.
Üzerine çift tıklayarak istek sekmesini açın. Giriş isteğinde, uygun konuma geçersiz posta kodunu girin, örneğin: 10029 . Bu isteği şimdi çalıştırın. Verilen posta kodu için tedarikçi ayrıntılarını içeren yanıt verilerini kontrol edin - aşağıdaki resme bakın:
(Büyütülmüş görmek için resme tıklayın)
'İçermez' iddiası, başarıyla yürütüldüğünde yeşil renkle vurgulanır.
Yapılandırma penceresinde, aşağıdaki gibi pozitif beklenen değer ile yapılandırdık:
Beklenen koşullu değer bulunmazsa doğru, yanıt mesajında beklenen değer bulunursa yanlış döndürür.
Benzer şekilde koşulu değiştirip isteği tekrar çalıştırabiliriz. Sonuçları buna göre üretir.
# 3) XPath Maç İddiası
XPath eşleşme iddiası, gerçek yanıt verilerini kullanarak yanıtı ortaya koyması açısından biraz farklıdır.
Örneğin , eğer kullanıcı kimlik bilgilerini doğrulayacak ve istemciye XML biçiminde DOĞRU veya YANLIŞ olabilecek bazı Boole türü verilerle onay gönderecek bir oturum açma kimlik doğrulama web hizmetimiz varsa.
Bildiğiniz gibi XML belgeleri etiketlerle oluşturulur. Dolayısıyla yapılandırmada beklenen değeri belirtirken, XML biçiminde olması gerekir.
birleştirme sıralaması c ++ örneği
Bunu yapmayı deneyelim:
İçin bir iddia daha ekleyin GetSupplierByCity istek. Onay Ekle penceresinde, Mülk İçeriği kategori ve ardından tıklayın XPath eşleşmesi iddia.
Aşağıdaki pencere görüntülenir:
Üst bölüm bildirim bölümüdür ve alt bölüm beklenen sonuç bölümüdür.
Tıkladığımızda Bildirmek seçenek, aşağıdaki gibi otomatik olarak oluşturulmuş bazı bildirim komut dosyalarını alacağız:
ad alanı sabunu bildirmek = ’http: //schemas.xmlsoap.org/soap/envelope/’;
ad alanını beyan edin ns1 = ’http: //www.webservicex.net/’;
Yukarıdaki komut dosyalarında, ilk satır XML verisi ve kapalı SOAP etiketleri olması gereken yanıtı belirtir. Sonraki satırda, yanıtın tamamı atanacak veya ns1 yürütme sırasında ad alanı değişkeni. Tüm yanıttan belirli verileri filtrelemek istiyorsak, aşağıdaki komut dosyasını eklemeliyiz.
// ns1: Tedarikçi Verisi (1)
Bildiğiniz gibi, eğer GetSupplierByCity istek, tedarikçinin ait olduğu kişisel verilerinin listesini içeren yanıtı üretecektir. New York City .
Burada kullandık XPath Maçı toplu yanıttan belirli tedarikçinin kişisel ayrıntılarını çıkarmak için ifade. Bu amaçla, bir ns1 değişken. Şimdi tıklayın Bir Akımdan seçin buton.
Ardından SOAPUI aşağıdaki sonucu oluşturur:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Lütfen şu ekran görüntüsüne bakın:
Burada yanıt verilerinde yalnızca bir tedarikçinin kişisel verilerini görebilirsiniz. Köşeli parantezlerin içinde bulunan sayıya bağlı olarak, çıktı üretilecektir.
Şimdiye kadar bu, yanıtın gerekli olan bölümünü seçmekle ilgilidir, nasıl kullanabiliriz / kullanıyoruz? XPath Maçı iddia?
Şuna gelelim: Yanıtı tamamladığınızda Kaydet düğmesine tıklayın.
Başlangıçta, XPath maç onayını hiçbir değişiklik yapmadan yapılandırdıktan sonra bu hizmeti çalıştıracak olsaydınız, sonuç yeşil renkle vurgulanan başarılı bir yanıt olacaktır.
Ama giriş isteğindeki girdi parametresini geçersiz şehir olan bir şeye değiştirelim - 'XYZ veya ABC'. İsteği çalıştırın ve sonuçları ve onaylama durumunu kontrol edin. İddia için hata yanıtı ve kırmızı durum göstergesi alacağız. Beklenen sonuç yapılandırmasında belirli tedarikçi verilerinin hizmet yanıtında bulunması gerektiğini zaten belirttiğimiz için ve şehir adı geçersiz olduğunda bu tedarikçi açıkça mevcut değildir.
XPath Match ifade iddiasını kullanarak XML yanıtını bu şekilde ileri sürebiliriz. Bunun başlamak için oldukça basit olduğu konusunda hemfikiriz, ancak farklı hizmet yanıtları ile denerseniz, çok daha iyi bir fikir edineceksiniz.
XPath Match ifadesinde de toplama fonksiyonlarını kullanabiliriz. Bunlar Toplam, Min, Maks, Sayım ve Ort.
Örneğin , beklenen sonuçlarda toplam tedarikçi sayısını bilmek istiyorsak, aşağıdaki komut dosyasını yazın.
count (// ns1: Tedarikçi Verisi) ve geri döner 536 sonuç olarak. Tüm toplama işlevlerinin küçük harf olması gerektiğini unutmayın.
# 4) XQuery Match Assertion
Bu, XPath Maçı iddiasına biraz benzer. XPath Match onay yapılandırmasında gördüğümüz gibi, iki bölüm olacak - açıklama ve beklenen sonuç.
- İstek için XQuery Match onayını ekleyin
- Yapılandırma penceresinde, tıklayın bildirmek düğmesine basın ve aşağıdaki betiği yazın
- Şimdi tıklayın Mevcut arasından seçin buton
- SOAPUI komut dosyası için yanıt oluşturur
XQuery ifadesi, XPath Match ifadesini de destekler, ancak XPath eşleşme onaylamasında kullanılamayan kendi komut dosyası sözdizimine sahiptir.
Örneğin :
XQuery ifadesini kullanarak tüm tedarikçi veri yanıtını almak için bir örnek göreceğiz. Daha iyi anlamak için bu örnek ekran görüntüsüne bakın.
Gerçek Senaryo:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
XQuery ifadesinde kullanılabilecek daha fazla yerleşik işlev vardır. Onlar nerede, için sipariş ver ve benzeri.
Sonuç
Bunlar sizin için en sık kullanılan iddialardır.
Burada vurgulanması gereken nokta şudur: Web servislerinin beklenen sonucunu doğru bir şekilde tahmin etmek için iddialar en önemlidir. Anahtarlardan biri olmasının nedeni budur SOAPUI PRO'daki özellikler .
Sonraki eğitim : Bir sonraki eğiticide, komut dosyası temelleri ve daha fazlasıyla harika olacağız…
Lütfen bağlantıda kalın. Her zaman olduğu gibi, yorumlarınız, sorularınız ve önerileriniz memnuniyetle karşılanmaktadır.
Önerilen Kaynaklar
- SoapUI Pro'da Veriye Dayalı Test Nasıl Gerçekleştirilir - SoapUI Eğitimi # 14
- 15+ SoapUI Öğreticisi: En İyi Web Hizmetleri API Test Aracı
- Yeni Başlayanlar İçin Derinlemesine Tutulma Öğreticileri
- SoapUI Groovy Komut Dosyasında Özellikler Nasıl Kullanılır - SoapUI Eğitimi # 7
- SoapUI ve SoapUI Pro'nun 7 Önemli Özellikleri - Eğitim 2
- SoapUI Özellikleri ile Çalışma - SoapUI Eğitimi # 8
- Pro Audience için SoapUI Pro'nun 4 Önemli Özelliği - SoapUI Eğitimi # 12
- Adım Adım SoapUI İndirme ve Kurulum İşlemi - SoapUI Eğitimi # 3