WebLogic WS tesztelés: SOAPSonar issues
2009. Július 28.
A tool: A SOAPSonar mindenféle WS Api tesztelésére jó. Itt lehet letölteni, kb 70 mega. A használata teljesen intuitív. Jó, az elején elkéri az email címet és arra küldi a Trial regisztációs kódját. Nem szeretem, hogy minden telepítés email címet akar. De én sem csinálnám másként…
A feladat: a kanadai teszt szerveren levő WebLogic 10 által kiajánlott WS method-ok közül kellett néhányat letesztelgetnem, a C# kód által meghatározott forgatókönyv alapján. A dolog teljesen egyszerűen indult:
File > New > WSDL Test Group
Ennek örültem, mert igy grafikusan szépen tudok propertiket beálligatni a request SOAP message-ben.
Az Első Issue: A WS API a SOAP header-ben várja tőlem a credentials-t (hogy biztonságos legyen, plain text-ben
), amivel authentikálja a usert. Csakhogy ebben a szerencsétlen toolban nem sikerült megtalálni, hogyan tudok SOAP header-t beállítani. Tehát kénytelen voltam XML-t szerkeztgetni:
Ezzel csak az volt a baj, hogy az előző lépésnél (lásd előző kép) elfelejtetem kikapcsolni a synch opciót. Mikor átmentem egy másik függvény tesztjére, mindíg akkurátusan kérdezte, hogy mentse-e ezt a verziót, amire én mindíg okéztam, de amikor visszatértem, eltünt ez a szar header. Ha viszont kikapcsolom a sync opciót, akkor matathattam a property-ket XML editorban…
A második issue: igazából nem tudom, hogy ez a WebLogic hibája vagy a SOAPSonar-é, de amikor elkezdtem tesztelgetni, mindíg a következő hibaüzenet jött vissza:

Elcsesztem egy fél órát, mert azt hittem, a headerem a rossz. Aztán még egy negyed órát gugliztam, mire kiderült, hogy ez a buta WebLogic a formázott SOAP message-ben lévő default space-eket SoapTextElement-ekké konvertálja. (A megoldás innen jött, köszi.) Amikor az XML message layout-ját unformattal egy sorba rendeztem, minden “tökéletesen” működött.
Az élvezeti értéken viszont kicsit rontott, hogy hiába mentegettem vagy próbáltam globális beállítást találni az XML editor layout-jára, az a szemét mindíg ujraformázta nekem szép XML formátumra. Ebből kifolyólag automata tesztet sem sikerült futtatnom…
