20. listopadu 2017

Generování dat v SoapUI

SoapUI je vynikající open source nástroj pro testování restových a soap služeb - https://www.soapui.org/. Pokud to ale s tímto nástrojem myslíte vážně, tak rychle narazíte na problém, že vám již statické requesty na server nestačí a že potřebujete nějaká data zautomatizovat a generovat (například rodná čísla, názvy osob, aktuální datum a čas atd.).
Pro tyto případy lze v SoapUI dopisovat vlastní kód v Groovy Scriptu (http://groovy-lang.org/index.html), ve kterém si napíšete libovolný kód pro generování dat. V tomto článku vám popíši jak na to.

Převedení dotazu na TestCase

Standardní dotazy slouží pouze pro ruční testování dané služby. Pokud chceme provádět pokročilejší funkce tak je nejprve nutné daný Request převést na TestCase.
Obrázek 1 - Převod Requestu na TestCase:

Po této akci se nám převede Request do TestCase, konkrétně jako jeden ktok v Test Steps. Zde lze již vkládat vlastní kód a další komponenty.

Přidání properties kroku

Abychom mohli svazovat výstup našeho kódu se samotným requestem tak je potřeba data ukládat do speciálních proměnných, které se v SoapUI nazývají properties. Do našeho Test Case přidáme tedy další step a to konkrétně step s názvem Properties. 
Obrázek 2 - Přidání properties:
Jedná se o speciální krok, ve kterém se definují naše proměnné, které lze vkládat do requestu. Při vytváření kroku ponechte defaultní název „Properties“ (budeme potřebovat v další kapitole). Dvojklikem properties step otevřete a vytvořte si vaše proměnné.
Obrázek 3 - Definice properties:

Přidání proměnné do požadavku

Nyní si přidáme naše vytvořené properties do samotného requestu který bude posílán na rozhraní, které testujeme.
Otevřete si step s requestem. Uvnitř těla požadavku klikněte pravým tlačítkem tam, kam chcete proměnnou vložit. Poté vyberte z nabídky Get Data -> Properties -> název proměnné:
Obrázek 4 - vložení property do requestu:
SoapUI vám na dané místo vloží odkaz na property, který vypadá takto: ${Properties#RandomName}.
Pro zvídavé mohu prozradit, že se nejedná o nic jiného, než o inline groovy script vypisující obsah dané proměnné. Nyní máme vše připravené a potřebujeme již pouze generovat obsah této proměnné.

Vytvoření Groovy Scriptu

Pro vytváření groovy scriptu s logikou je potřeba přidat další step, ten se jmenuje Groovy Script:
Obrázek 5 - přidání groovy scriptu:
Po otevření tohoto kroku se zobrazí textový editor. Do něj můžete programovat svoje skripty pro generování, nebo načítání dat. Pokud nejste programátor tak pohledejte na internetu, nebo poproste svého oblíbeného programátora, aby vám daný script naprogramoval. Pokud programátor jste tak krátký popis:
Obrázek 6 - ukázka kódu pro generování ID osoby:

Výše uvedená ukázka kódu slouží pro náhodné generování ID osoby (o délce 20 znaků a kombinující číslice a písmena). Důležité jsou pro nás dvě poslední řádky. Ty nutně potřebujeme uvést v každém scriptu, protože slouží pro propisování našeho výstupu do naší property. Na řádce 8 si do proměnné načteme objekt všech našich Properties. Na poslední řádce uložíme náš výstup do property s názvem RandomIdOsoby.

Samozřejmě se nemusíte omezovat jen na plněn jedné proměnné, můžete vygenerovat data pro více proměnných, nebo v ideálním případě pro každou proměnnou vytvořit samostatný Groovy Script.

Pořadí kroků

Kroky testu se provádějí postupně, proto nezapomínejte na pořadí jednotlivých kroků a data generujte před samotným zavoláním requestu.
Obrázek 7 - pořadí kroků:
Autor článku: Kamil Praum, CCA Group a.s.

Žádné komentáře:

Okomentovat