kullanma SoapUI 'da Selenium Web Hizmeti Testi için
⚡ Akıllı Özet
SoapUI 'da Selenium Bu yazılım paketi, bir web servisini ve onu kullanan tarayıcıyı kontrol etmeyi sağlar. Groovy köprüdür, çünkü SoapUI ishal Groovy doğal olarak ve Groovy her şeye ulaşıyor Java kütüphane Selenium gemiler.
SoapUI en popüler açık kaynak kodlu yazılımdır. fonksiyonel test için araç API testi. Tam sağlar test kapsamı ve tüm standart protokolleri ve teknolojileri destekler.
SABUN nedir?
SABUN HTTP, basit bir XML tabanlı protokoldür. Uygulamaların HTTP üzerinden bilgi alışverişi yapmasına olanak tanır. Web Servislerini kullanır. Descriptİletişim için WSDL (Wireless Data Line) kullanılır ve diğer uygulamalar da onunla etkileşim kurabilir. web hizmetleri WSDL arayüzü aracılığıyla.
SOAP ve REST Web Servisleri Karşılaştırması SoapUI
SoapUI Başlangıçta bir SOAP istemcisi olarak ortaya çıktı ve adı da bunu hala gösteriyor, ancak REST uç noktalarını da test ediyor. Hangi stile işaret ettiğiniz, testin nasıl oluşturulacağını belirler.
| Görünüş | SABUN | DİNLENME |
|---|---|---|
| iletract | WSDL dosyası her işlemi ayrıntılı olarak açıklar, bu nedenle SoapUI İstekleri otomatik olarak oluşturabilir. | Genellikle bir OpenAPI veya Swagger tanımıdır ya da resmi bir tanım yoktur.tracHiç. |
| Mesaj biçimi | Yalnızca XML zarfı. | Genellikle JSON kullanılır, ancak XML ve diğer formatlar da kabul edilir. |
| Transfer | Çoğunlukla HTTP kullanılır, ancak SOAP taşıma protokolünden bağımsızdır. | HTTP, yöntemiyle ve URL Niyetini taşıyor. |
| İddialar SoapUI | XPath ve XQuery, yanıt zarfıyla eşleşir. | JSONPath ve komut dosyası doğrulamaları, veri yüküyle eşleşiyor. |
| Tipik kullanım | Bankacılık, telekomünikasyon ve diğer sektörlertracYoğun kurumsal entegrasyonlar. | Veri yükünün hafif kaldığı, kamuya açık ve mobil kullanıma yönelik hizmetler. |
Aşağıdaki kılavuzda SOAP tabanlı bir hava durumu servisi kullanılıyor, ancak aynı çalıştırıcı sınıfı, herhangi bir değişiklik yapılmadan bir REST test senaryosunu da çalıştırıyor. Java kodu.
SOAPUI nedir?
SABUNUI SOAPUI, açık kaynaklı, platformlar arası bir web servis test aracıdır. SOAPUI-Pro sürümü, kritik web servisleriyle ilgilenen şirketler için ek işlevsellik sunar. Web servisleri, internet uygulamalarında önemli bir rol oynar.
⚠️ Ürün adı notu: SmartBear'in üretimi durduruldu. SoapUI başına Bağımsız bir ürün olarak tasarlanmıştı ve LoadUI Pro ve ServiceV Pro ile birlikte entegre edildi. ReadyAPIÜcretsiz sürüm şunları korur: SoapUI Adı hala geçerli ve aktif olarak yayınlanmaya devam ediyor. Aşağıdaki adımlar her ikisinde de işe yarar ve mevcut SoapUI açık projeler ReadyAPI.
Nedir? Selenium?
Selenium Bu tek bir program değil, bir kişinin tarayıcıyı kullanacağı şekilde kullanmak için tasarlanmış bir araç ailesidir. Burada iki üye önemlidir:
- Selenium — Birçok platformda tarayıcıları otomatik hale getiren bir test aracı.
- Selenium Web Sürücüsü — Her tarayıcının otomasyon için sunduğu yerel desteği kullanarak tarayıcılara doğrudan çağrılar yapar.
Neden Birleştirmeliyiz SoapUI hem de Selenium Tek Testte
Servis kontrolü ve ekran kontrolü genellikle iki ayrı işlem olup, iki ayrı yazılım paketi tarafından gerçekleştirilir; bu nedenle aralarındaki bağlantı noktasında oluşan bir hata her ikisinde de kalıcı olma eğilimindedir. Bunları birlikte çalıştırmak bu boşluğu kapatır.
- Gidiş-dönüş yolculuğunu kanıtlayın. Tarayıcı üzerinden gönderilen bir rezervasyon, servis yanıtında görünmelidir. Sadece birleşik bir test, her iki bölümü de doğrulayabilir.
- Durumu hızlıca ayarlayın. API üzerinden müşteri oluşturmak bir saniye sürerken, on iki form alanından oluşan bir form üzerinden müşteri oluşturmak bir dakika sürüyor ve daha sık başarısız oluyor.
- Bir arızayı yerelleştirin. Kullanıcı arayüzü yanlış toplamı gösterdiğinde, aynı çalıştırmadaki API doğrulaması size hizmetin mi yoksa sayfanın mı hatalı olduğunu hemen söyler.
- Bir veri setini tekrar kullanın. Aşağıdaki örnekte yer alan posta kodu ve şehir çiftleri, servis çağrısını beslediği gibi tarayıcı doğrulama sorgularını da besleyebilir.
- Tekrarlanan haberleri azaltın. Servis katmanında zaten doğruluğu kanıtlanmış doğrulama kurallarının her biri için yavaş bir tarayıcı testi yapılmasına gerek yoktur.
Dezavantajı ise daha ağır bir test: iki araç, iki bağımlılık kümesi ve daha uzun bir çalışma süresi. Sınırı gerçekten aşan birkaç yolculuk için birleştirilmiş testleri kullanın ve geri kalanını saf test olarak bırakın. API veya saf tarayıcı kontrolleri.
Selenium 'da SoapUI
Entegrasyonun en basit ve en kolay yolu Selenium 'da SoapUI kullanmaktır Groovy, Hangi SoapUI kapsamlı bir şekilde destekler.
Groovy Nesne yönelimli bir betik dilidir ve tüm bileşenleri içerir. Java kütüphaneler, yani her Java Anahtar kelime ve fonksiyon bir şekilde kullanılabilir. Groovy Doğrudan betik. JVM üzerinde çalışır (Java Sanal Makine), bu da bir şeye olanak tanır. Groovy içeri adım at SoapUI ve Java Selenium Aynı sınıfları paylaşmayı test edin.
Kullanmak için önkoşullar Selenium 'da SoapUI
Kod yazmaya başlamadan önce aşağıdakileri yükleyin:
⚠️ Sürüm notu: Groovy 5.0 şu anki kararlı sürümdür ve JDK 11 veya daha üstünü gerektirir, bu nedenle önce JDK'yı kurun ve ardından işlemin tamamlanmasını bekleyin. Groovy Sürüm onu takip eder. Selenium bir Java projeyi Maven olarak veya Gradle İndirilen bir klasör yerine bir bağımlılık olarak ve SoapUI JAR dosyasının test dosyanızla aynı classpath'te olması gerekiyor; ilk denemelerin çoğu bu tek noktada başarısız oluyor.
Ara SoapUI Test senaryosu çalıştırıcısında Selenium
Aşağıdaki kod bir çağrı yapar. SoapUI Bu test senaryosu, bir şehir ve ona karşılık gelen posta kodu için özellikleri ayarlar ve çalıştırıldığında her şehir ve posta kodunun değerini alır, ardından eşleşmeyen her çift için hata sayısını bildirir. Bu kod şu şekilde çalışır: Selenium.
Not: Burada, posta kodu ve şehir bilgilerini saklamak için statik bir özellik dosyası yerine `usePropertyFileFlag=true` kullanılmıştır. Posta kodu ve şehir bilgileri, `setProjectProperties()` yöntemiyle çalışma zamanında dinamik olarak iletilir.
Kodu çalıştırmak için talimatlar:
- Başlamak SoapUI.
- Yeni bir test senaryosu başlatın.
- Yeni Ekle Groovy adım.
- Örnek kodu kopyalayıp ilgili adıma yapıştırın.
- Oynat'a tıklayın.
- Görebilirsiniz Firefox başlatma ve gezinme GoogleBundan sonra görebilirsiniz. SoapUI Günlük kayıtları.
- Kod şu şekilde çalıştırılır: JUnit.
Code Örnek E-posta
@when("<I use the weather service to get the weather information") public void i_use_the_weather_service_to_get_the_information() { Set<Entry<String, string>> set = zipAndCities.entrySet(); while (iterator,hasNext)) { Entry<String, String> entry = iterator.next(); String zipCode = entry.getkey(); String city = entry.getValue(); String[] prop = {"usePropertyFileFlag=true","zipCode=" +zipCode, "city=" +city}; try{ SoapUITestCaseRunner soapUITestCaseRunner = new SoapUITestCaseRunner(); soapUITestCaseRunner.setProjectFile("src/test/resources/WeatherSoapTest-soapui-project.xml"); soapUITestCaseRunner.setProjectProperties(prop); soapUITestCaseRunner.setTestSuite("TestSuite1"); soapUITestCaseRunner.setTestCase("TestCase1"); soapUITestCaseRunner.run(); } catch (Exception e) { System.err.println("checking" + zipCode + " failed!"); failureCount++; zipCodes.append(zipCode + " [" + city +"] "); e.printStackTrace(); }finally{ totalCount++; } } } }
⚠️ Code not: Bu kod parçası, yayınlandığı haliyle birebir kopyalanmıştır ve derlenebilir bir sınıf yerine bir parçadır. Derlenmeden önce, elde edilen yineleyiciyi bildirmeniz gerekir. set.iterator(), doğru (yineleyici, bir sonraki var) için (iterator.hasNext()) hem de giriş.anahtarınıal() için giriş.anahtarınıal()Açıklamayı büyük harfle yazın @Ne zamanAdım metninin başındaki gereksiz karakteri kaldırın ve şunu kullanın: dizi ziyade dizi Set bildiriminde. Orijinal metin korunarak yayınlanan örnek bozulmadan kalır.
Konsol görünümü, her şeye hızlıca göz atmanızı sağlar. test durumuÇalıştırılan işlemlerin ardından, alınan ve ilgili fonksiyona aktarılan posta kodları ve şehirlerin listesini bulacaksınız. SoapUI Test Durumu 1.
Görüntüle SoapUI Log dosyası
Günlük dosyaları, bir işletim sisteminde veya yazılım uygulamasında gerçekleşen her eylemi kaydeder. Bu günlük dosyalarını görüntülemek için... SoapUI Günlük dosyasına ulaşmak için ana dizine gidin, orada "log" adlı bir dosya göreceksiniz. soapui.log.
In SoapUIGünlük dosyası, kurulum dizininin içindeki bin klasöründe bulunur; örneğin C:\Program Files\SmartBear\soapUI-Pro-4.0.1\bin. Mevcut bir kurulumda sürüm klasörü farklılık gösterir ve ReadyAPI Kurulum, dosyaları kendi bin klasörüne yazar.
Bu log dosyasını üzerine tıklayarak açtığınızda aşağıdaki ekran görüntüsüne benzer görünecektir.
Dönüşümün SoapUI hem de Selenium Entegrasyon Genellikle Bozulur
Bu aşamada meydana gelen arızaların neredeyse tamamı test sorunundan ziyade kablolama sorunundan kaynaklanmaktadır. Öncelikle kontrol edilmesi gerekenler bunlardır.
| Semptom | Muhtemel sebep | Kontrol edilecekler |
|---|---|---|
| NoClassDefFoundError veya ClassNotFoundException SoapUITestVakaÇalıştırıcısı | MKS SoapUI JAR dosyası test sınıf yolunda bulunmuyor. | Eklemek SoapUI Derleme dosyasına olan bağımlılığı belirtin veya sınıf yolunu jar dosyasına yönlendirin. SoapUI lib klasörü. Eksik bir jar dosyası sıradan bir sorun olarak ortaya çıkıyor. Selenium istisna konsolda. |
| Proje dosyası bulunamadı. | setProjectFile() işlevi, çalışma dizinine göre göreceli bir yol belirler; bu yol, IDE ve derleme aracı arasında farklılık gösterir. | Proje kök dizininden çalıştırın veya mutlak bir yol belirtin. |
| Test paketi veya test senaryosu bulunamadı. | setTestSuite() ve setTestCase() içindeki isimler projeyle birebir aynı olmalıdır. | İsimleri olduğu gibi kopyalayın. SoapUI Proje ağacı; büyük/küçük harf duyarlıdırlar. |
| Mülk hiçbir zaman talebi karşılamaz. | setProjectProperties() fonksiyonu run() fonksiyonundan sonra çalıştırıldı veya istekte ilgili özelliğe referans verilmiyor. | `run()` fonksiyonundan önce her özelliği ayarlayın ve istek içinde özellik yer tutucu sözdizimini kullanın. |
| Tarayıcı başlatılmıyor. | Sürücü ve yüklü tarayıcı farklı ana sürümlere sahip. | Let Selenium Yönetici sürücüyü çözümlüyor veya sürücüyü tarayıcı yapısıyla eşleştiriyor. |
| Bir özellik IDE'de çalışıyor ancak çalıştırıcıdan çalışmıyor. | Bu adım, veri kaynağı gibi yalnızca Pro sürümünde bulunan bir özelliğe bağlıdır. | Lisansı onaylayın veya adımı açık kaynaklı eşdeğerleriyle yeniden oluşturun. |
Çalıştırıcı sorunsuz bir şekilde çıkış yaptıktan ve soapui.log beklenen girdileri gösterdikten sonra, entegrasyon çalışıyor demektir ve daha geniş bir yapıya dahil edilebilir. otomasyon testi süit.



