SoapUI'da Test Paketi ve Test Senaryosu nasıl oluşturulur?
SOAP Protokolünü Anlamak
Bir SOAPUI Test senaryosu oluşturmadan önce, SOAP Protokolü ile ilgili temel bilgileri anlayalım. Bu, SOAP isteklerini ve yanıtlarını etkili bir şekilde test etmek için SOAP kullanıcı arayüzünü kullanmanıza yardımcı olacaktır.
SABUN anlamına gelir Basit nesne erişim protokolü. Aşağıda bir SOAP Protokolünün özellikleri verilmiştir.
- İki farklı sistem arasında iletişim kurmak için kullanılan XML tabanlı bir protokoldür.
- Platform ve dilden bağımsız bir platformdur. Bu nedenle, kullanılarak geliştirilen bir sistem Java NET'te geliştirilen bir sistemle iletişim kurabilir.
- SOAP istekleri/yanıtları HTTP aracılığıyla aktarılır.
SOAP Mesaj FORMATINI Öğrenin
Bir SOAP mesajı, aşağıdaki öğeleri içeren sıradan bir XML belgesidir. Mesaj, bir istek mesajı veya bir yanıt mesajı olabilir.

Son derste gerçekleştirdiğimiz çalışma alanını kurduktan sonra, belirli bir web hizmetini test etmek için SoapUI proje yapısını, test paketlerini, test senaryolarını oluşturmamız gerekiyor. Yeni bir SOAP projesi oluşturmak için SoapUI Projesi örneğini anlayalım.
SABUN Projesi Oluşturma
) 1 Adım Şimdi projeye bağlı olarak SOAP/REST protokolünü içe aktarmamız gerekiyor. Yeni bir SABUN Projesi oluşturacağız.
) 2 Adım Aşağıdaki SOAP isteğini kullanacağız http://www.dneonline.com/calculator.asmx?wsdl
- Proje Adını Girin
- WSDL isteğinin yolunu girin. Bu durumda http://www.dneonline.com/calculator.asmx?wsdl
- Tamam'ı tıklayın.
Not:
- Tüm işlemler için örnek istek oluşturulsun mu? Verilen WSDL'deki mevcut tüm işlemler için örnek bir istek oluşturur. WSDL adresini girdiğiniz anda bu seçenek otomatik olarak işaretlenir. İşaretini kaldırabilirsiniz.
- İçe aktarılan WSDL için bir Test Paketi oluşturun: İçe aktarılan WSDL için proje içinde bir SoapUI test paketi oluşturur.
- Göreli Yollar: Kullanıcının proje dosyasına göre tüm dosyaları kaydetmesini sağlar.
) 3 Adım Yukarıda bahsettiğimiz WSDL ile SOAP projesini oluşturduğumuzda projeye import edilecek iki operasyonun olduğunu görebileceğiz.
) 4 Adım İlk isteği genişletin ve 'Ekle'ye sağ tıklayın. Daha sonra 'Yeni Talep'e tıklayın.
Daha sonra 'Tamam'a tıklayın. SOAP isteğini XML formatında gösterecektir.
- 'intA' ve 'intB'yi girin
- Gönder düğmesine tıklayın
- Yanıt XML'i sağ taraftaki bölmede görüntülenecektir.
Neden Test Senaryoları oluşturduğunuzu merak ediyor olabilirsiniz. Web hizmetini doğrudan burada test edebildiğinizde…
Bir operasyon için istek gönderebilirsiniz. Peki ya diğerleri? Bu işlemi kullanarak Eklemeler için kaç giriş kombinasyonu yapabilirsiniz? Her kombinasyon için isteği düzenlemeniz gerekir.
Örneğin: 4 ve 4 yerine 5 ve 5'ten ekleme yapmak istiyorsanız… İşlemi tekrar düzenlemeniz gerekiyor. Bu nedenle, işlemin kendisini doğrudan düzenlemeye gerek kalmadan tüm olası senaryoların test edilmesi için bir test paketi/durumlar oluşturulmalıdır.
SoapUI'da Test Paketi Nasıl Oluşturulur
SoapUI'da Test Paketi oluşturma adımları aşağıda verilmiştir:
Adım 1) Projenin köküne sağ tıklayın
Proje içerisinde test uzmanları, projenin köküne sağ tıklayarak bir test paketi oluşturabilir.
Adım 2) Test paketi ayrıntılarını girin
Test paketinin adını girip OK tuşuna basmamız gerekiyor.
Adım 3) Oluşturulan Test paketini doğrulayın
Oluşturulan test paketi, aşağıda gösterildiği gibi gezgin bölmesinde görüntülenir.
Adım 4) Test paketini açın
Test Paketi penceresi Sağ Bölmede açılır. Az önce oluşturduğumuz gibi SoapUI test durumu YOKTUR. Bu nedenle tüm seçenekler devre dışıdır.
SoapUI'da Test Senaryosu Nasıl Oluşturulur
SoapUI'da bir test senaryosu oluşturmaya yönelik adım adım süreç aşağıda verilmiştir:
) 1 Adım Bir test paketinde, 'test paketi'ne sağ tıklayıp 'Yeni TestCase'i seçerek birden fazla test oluşturabiliriz.
) 2 Adım adını belirtin Test Durumu ve 'Tamam'ı tıklayın.
) 3 Adım Oluşturulan test senaryosunun aşağıda gösterildiği gibi sıfır adımı vardır.
not: Mevcut her türlü test için test senaryosunun sıfır test adımlarıyla eklendiğini görebiliriz. Test adımları eklendiğinde parantez içindeki sayılar otomatik olarak değişecektir.
İşlevsel test adımı 'Test Adımları'na, performans testi adımı 'Yük Testi'ne ve bir güvenlik testi adımı da 'güvenlik Testleri'ne girmelidir.
) 4 Adım Aşağıda gösterildiği gibi test adımlarına sağ tıklayarak ve uygun bir test adımı seçerek çeşitli test adımları ekleyebiliriz. Dolayısıyla, bir REST Web hizmetini test edecekseniz REST Test İsteğini seçersiniz.
SoapUI'da Test Adımı Ekleme
Şimdi içe aktarılan SOAP test isteğini doğrulamak için bir test adımı ekleyelim:
) 1 Adım Aşağıda gösterildiği gibi yeni bir 'SOAP İsteği' adımı ekleyin.
) 2 Adım Adım adını girin ve Tamam'a tıklayın.
) 3 Adım 'Tamam' tıklatıldığında, başlatılacak işlemi seçmek için bir iletişim kutusu açılır. Tüm işlemler listelenir ve kullanıcı başlatmak istediği işlemi seçebilir.
- Listelenecek birçok işlem var. OperaKullanılan SOAP sürümü dışında tüm işlemler aynıdır. CalculatorSoap – SOAP sürüm 1.1'i kullanırken, CalculatorSoap12 – SOAP sürüm 1.2'yi kullanır.
- Bu bağlamda Sürüm bizim için önemli değil. Bu nedenle dilediğinizi seçebilirsiniz.
- İşlemi seçtikten sonra 'Tamam'ı tıklayın
) 4 Adım Test senaryosu eklerken standart iddialar da ekleyebiliriz. Bir sonraki derste ayrıntılı olarak ele alacağımız iddialara kontrol noktaları/doğrulama noktaları da denir.
Test vakası oluştururken aşağıdaki kontrol noktalarını/onaylamalarını ekleyebiliriz. Aşağıdaki doğrulama noktalarından herhangi biri OLMADAN test adımı oluşturma seçeneğiyle bir test vakası oluşturalım
- Test yürütüldüğünde yanıt mesajının SOAP olup olmadığını doğrular.
- Yanıt şemasının geçerli olup olmadığını doğrular.
- SOAP yanıtının HATA içerip içermediğini doğrular.
) 5 Adım Test senaryosu oluşturulduktan sonra istek XML'i aşağıda gösterilir. XML'in yapısı aşağıdaki anlık görüntüde açıklanmıştır.
) 6 Adım Sadece bir test adımı eklediğimiz için test adımı sayısı artık bire çıkarıldı. Benzer şekilde, yük ve güvenlik testleri adımı eklendiğinde, eklenen adım sayısına göre karşılık gelen sayı otomatik olarak artırılacaktır.
SoapUI'da İsteğin Manuel Olarak Gönderilmesi ve Yanıtın Okunması
) 1 Adım İki Tam Sayı eklemek istiyoruz.
- intA – 5
- intB – 5
Daha sonra,
- İstek XML'i olarak gönderilecek olan soru işareti yerine bu girdileri girmemiz gerekiyor.
- Bu değerleri ilgili XML etiketlerine girdikten sonra yanıtı kontrol etmek için 'isteği gönder' düğmesine tıklayın.
) 2 Adım Bir istek gönderildikten sonra web hizmeti isteği web sunucusu tarafından işlenir ve aşağıda gösterildiği gibi bir yanıt gönderilir.
Yanıtı okuyarak 5 artı 5'in 10 olduğu sonucuna varabiliriz.
Soap Response ve Log Panellerini Anlamak
Bu SoapUI test eğitiminin başında açıklandığı gibi, SOAP mesajları HTTP protokolü aracılığıyla taşınır. RAW mesajlarına bir göz atalım. Bu, SOAP isteğinin ve yanıtının HTTP tarafından nasıl taşındığını öğrenmemize yardımcı olacaktır.
) 1 Adım Her iki SOAP-UI istek penceresinde 'RAW' Sekmesine tıklayın.
- İstek web sunucusuna gönderilir. Bu nedenle Http'nin POST yöntemi kullanılır.
- SOAP İsteği Http mesajının gövdesinde taşınır.
) 2 Adım şimdi 'RAW' Sekmesini tıklayın Yanıtın HTTP yoluyla nasıl gönderildiğini anlamak için SOAP-UI Yanıt Penceresinde.
- İsteği işledikten sonra Http yanıt kodu (200) gösterilir, bu da işlemin başarılı olduğu anlamına gelir. Web sunucusu bunu başarıyla işledi.
- SOAP yanıtı, HTTP mesajının gövdesinin bir parçası olarak istemciye geri gönderilir.
Kolay anlaşılması ve hata ayıklanması için Http Yanıt kodlarının hızlı bir anlık görüntüsü. Aşağıdaki tablo, web sunucusundan alınan HTTP koduna göre sorun gidermenize yardımcı olacaktır.
Http Kodu | Açıklama |
---|---|
1xx: | Bilgilendirici – Bu, bir talebin alınması ve sürecin devam etmesi anlamına gelir. |
2xx: | Başarı - Eylem başarıyla alındı, anlaşıldı ve kabul edildi. |
3xx: | Yönlendirme – Bu, isteği tamamlamak için daha fazla işlem yapılması gerektiği anlamına gelir. |
4xx: | İstemci Hatası – Bu, isteğin hatalı sözdizimi içerdiği veya yerine getirilemeyeceği anlamına gelir |
5xx: | Server hatası - Sunucu görünüşte geçerli bir isteği yerine getiremedi |
) 3 Adım Test senaryosu penceresinde görüntülenen diğer bilgileri anlayalım.
- Gönderilen istekte NO başlığını temsil edin
- Web sunucusuna gönderilen istekte HİÇBİR ek olmadığını temsil eder.
- 10 başlık bilgisini temsil eder ve üzerine tıklandığında aynısı görüntülenir.
- Yanıt iletisinde hiçbir ek olmadığını temsil eder.
GÜNLÜK BÖLMESİ:
Günlükler bölmesi, istemci ile sunucu arasındaki işleme ilişkin tüm bilgileri içerir. Kullanıcılar, Günlük bölmesinin sekmelerini aşağıda gösterildiği gibi görebileceklerdir. SOAP-UI ile çalışırken en sık kullanılan log panellerini tartışacağız.
SoapUI Günlüğü – Web sunucusundan gelen yanıt bilgilerini görüntüler. Aynı bilgiler 'bin' dizini altındaki SOAP-UI yüklü klasörün sabunui.log dosyasında saklanır.
Http Günlüğü – Tüm HTTP paket aktarımını görüntüler. 'RAW'daki tüm bilgiler HTTP günlüğünde gösterilir.
Hata Günlüğü – Hata günlüğü, tüm proje oturumu boyunca karşılaştığımız tüm hataları görüntüler. Aynı bilgi, SOAP UI'nin kurulu olduğu konumun 'bin' dizininde bulunan 'soapui-errors.log' dosyasında da mevcuttur.
Bellek Günlüğü – Bu sekme, bellek tüketimini izler ve aşağıda gösterildiği gibi grafik biçiminde görüntüler. Bellek yoğun bir işlem gerçekleştirildiğinde gerçekten faydalıdır.
Artık bir test paketi, test senaryosu, test adımı oluşturduğumuza ve bir yanıt aldığımıza göre, bir sonraki adım yanıtı doğrulamaktır. Bir sonraki derste iddia türlerini ele alacağız.