2013-04-26 13 views
5

Mam projekt SoapUI, który zawiera około 60 usług. Każda usługa wymaga pewnych danych wejściowych, które zostaną zmienione dla każdego wykonania. Dlatego utworzyłem pewne właściwości globalne i przypisałem pewne wartości do tych właściwości.Jak używać nazwy Global Property w żądaniu wejściowym JSON przy użyciu SoapUI?

Muszę użyć tych wartości właściwości w moim żądaniu SoapUI (tj. Żądanie formatu JSON).

Jeśli jest to groovy skrypt oznacza, użyję w ten sposób.

String HTiC_Username = com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils.globalProperties ['HTiC_Username']. Wartość;

Ale jak uzyskać wartość Global Property w żądaniu?

Mam nadzieję, że rozumiesz moje pytanie. Proszę podać odpowiednie wytyczne.

Dzięki

Odpowiedz

2

Co zrobiliśmy był następujący:

  • utworzony plik danych testowych do przechowywania wszystkich szczegółowych danych wejściowych dla różnych usług (testdata.properties)

Przykładowa zawartość pliku testdata.properties:

Billing_customerID = 1234567

OtherService_paymentid = 12121212

....

  • stworzyć globalny parametr SoupUi (Plik/Preferencje/właściwości globalnych): testdata_filepath = C: \. ..
  • W przypadku konkretnych usług dodaliśmy etap testowy Właściwości:. Możesz określić pole "Wczytaj z" do naszego nowego parametru globalnego: $ {# Global # testdata_filepath} Teraz możesz użyć przycisku Załaduj, aby załadować parametry.
  • Wreszcie można odwołać się do parametru w formacie XML w następującym formacie: $ {Properties # Billing_customerID}

Przykład zawartości serwisu z parametrem:

... 
<BillingCustomerIdentification> 
    <BillingCustomerID>${#Properties#Billing_customerID}</BillingCustomerID> 
</BillingCustomerIdentification> 
... 

Aby ustawić Twoje projekty w ten sposób pomagają również zautomatyzować testy serwisowe, np. przy użyciu Hudson (see my previous SO answer).

Jeśli jest zbyt ciężki i automatyzacja nie jest celem, można po prostu użyć $ {#} Globalny # someinputvariable w formacie XML ;-)

+0

Dziękuję za odpowiedź. Nie widzę menu -> Prepreferences -> Global Settings w moim narzędziu SoapUI. Obecnie używam SoapUI Pro 4.5.0. –

+0

Zobacz moją edycję, opisałem błędnie – nzs

7

Aby dynamicznie „rozwinąć” (tjZastępca) wartość właściwości do etapu badania, stosuje się następującą składnię: ${#scope#propertyName}

... gdzie „zakres” odnosi się do poziomu, przy którym właściwość została zdefiniowana (na przykład Global, Project, TestSuite, TestCase).

więc rozszerzyć właściwość o nazwie nazwa zdefiniowany jako Globalnego własności, na przykład, następujący kod może być stosowany bezpośrednio w kroku Zapytanie badań (np obrębie ciała JSON lub wartości nagłówka, etc):

${#Global#username} 

Aby uzyskać dostęp do tej samej wartości nieruchomości w ciągu Groovy testowym po kroku, można użyć następującej składni: context.expand('${#scope#propertyName}')

... jak w poniższym przykładzie:

context.expand('${#Global#username}')