2011-08-23 21 views
27

Bir SoapUI projesindeki tüm istekler için HTTP Temel Kimlik Doğrulaması kurmanın bir yolu var mı?Tüm istekler için HTTP Temel Kimlik Doğrulaması'nın ayarlanması

TestSuite içindeki tüm istekler için yapılabileceğini biliyorum, ancak tüm TestSuites'teki tüm istekler için nasıl yapılacağını anlayamıyorum.

+0

Web sunucusu yapılandırması aracılığıyla HTTP Temel Kimlik Doğrulaması'nı ayarlamadığınız belirli bir neden var mı? – Oswald

+0

Kimlik doğrulama, sunucuda etkinleştirildi - ve istemci olarak SoapUI kullanılarak kimlik doğrulaması yapılamıyor. Ancak her seferinde/TestSuite için her defasında ayrı ayrı kimlik doğrulaması ayarlamam gerekiyor. Projedeki tüm istekler için bir kez ayarlayabilmek istiyorum – DisscCoder

cevap

7

bunu yapmanın birkaç yolu vardır: Endpoint düzeyde

  1. Seti kimlik bilgileri. Elbette bu, Son Nokta'nın kullanıldığı tüm Test Adımları için kullanılır.

  2. Test Çantası seviyesinde kimlik bilgilerini ayarlayın (tuş simgesine tıklayın). Kimlik bilgileri her Test Adımına yayılmaktadır.

  3. için Özel Proje Özellikleri sonra senin Custom Özellikler 'kapmak için her test Step Auth sekmede Mülkiyet Genişletme kullanın (kullanıcı adı/şifre) http://www.soapui.org/Scripting-Properties/working-with-properties.html
    http://www.soapui.org/Scripting-Properties/property-expansion.html

+2

Adım 1 nasıl yapılır? Kimlik bilgilerini doğrudan uç noktaya nasıl eklersiniz? –

+2

2 ve 3, yalnızca test tanımındaki istek nesnelerine değil, bir testsuitte çalışır. Ve 1 hala her yönteme girmeden ve kimlik doğrulama yapmadan çalışmıyor. Bunu her yönteme etkinleştirmeniz gerektiğinde, son nokta tanımına koymak oldukça anlamsız. Auth kimlik bilgileri sağlandığında neden her zaman auth yapmak için bir mekanizmanın olmadığını bilmiyorum, ancak SB'de hiç kimse aslında kendi ürünlerini kullanma konusunda ikna oldum. –

40

SoapUI olarak kimlik bilgilerini saklamak için 5.0 veya üstü, hizmetinizin sol tarafındaki Gezinme penceresinden basicHttpBinding öğesini ayarlayabiliyorsunuz (bunun bir arabirim olduğunu düşünüyorum) (bu, tüm yöntemlerin ve projenin doğrudan alt öğesinin ana öğesidir).

Arabirim adına sağ tıklayın ve "Arabirim Görüntüleyicisini Göster" i seçin. Ardından "Servis Uç Noktaları" sekmesine gidin. Kimlik doğrulama bilgilerinizi buraya koyun. Artık hizmetinizdeki her yöntem için kimlik doğrulaması belirtmeniz gerekmez. ReadyAPI olarak

+3

Bu en basit cevaptır. Teşekkür ederim! SoapUI'de bunun neden daha açık olmadığını anlamıyorum ... – Tim

+2

Bunun bir REST projesi/bitiş noktası için çalıştığını herkes onaylıyor mu? Burada herhangibir bilgi mesajını tek tek eklediğimde aynı auth iyi çalışıyor olsa da, burada bir kimlik bilgisi koyarsam bir 'ClientProtocolException' alıyorum. – dbreaux

+0

Redmine REST API'ya erişmek için kullanıyorum ve çalışıyor. Gezinme bölmesinde, hizmet düğümüne sağ tıklayın (hizmetin URL'siyle birlikte), "Servis Görüntüleyicisini Göster" i seçin. Servis Görüntüleyici'de "Servis Son Noktaları" sekmesini seçin ve kullanıcı adı ve şifre alanlarını doldurun. "Mod" hakkında emin değilim, ancak COMPLEMENT kullanıyorum. Bundan sonra, her istek için "Auth" sekmesini seçin ve "Basic" i seçin. Kullanıcı adı ve şifre alanları boş olsun. Kimlik doğrulama başlığını zorlamak için (sunucudan bir sorun beklemeden) "Preempt Preemptively (Önceden Önceden Kimlik Doğrula)" seçeneğini tıklayın. – jramos

0

(SOAP arayüzünde Pro) versiyon 2.2.0:

Projeler Tab

, üst kısmında, Auth Repository sekmede bir kimlik doğrulama profili oluşturmak Bu yöneticisinde bir Auth Manager

orada uygun username ve password ile. profilinizi seçin authorization method sütunda, kimlik bilgilerinizi (Üst biri kullanılır) uygulamak istediğiniz gerekli üst düzeyini seçin ve boş Domain bırakın ve Auth Manager sekmesinde Authenticate Pre-emptively

ayarlayın. Çocukların isteği üzerine 'evet' demesi durumunda, hepsi 'Ebeveynten Devral' durumuna geçmelidir.

TestSuite'ı projenizden oluşturduğunuzda, tüm istekleriniz ebeveynden devralır ve profilde ayarladığınız kimlik bilgilerini uygular.