2017-09-01 4 views
5

Ich versuche Demo Serenity mit Restassured an meinem Arbeitsplatz hier und zeigen Sie ihnen, wie fantastisch und einfach es ist im Vergleich zu jasmine.js verwenden Wie auch immer ich bin stecken mit ein paar Dinge in den Basistest ich versuche Mein Test zu tun, sagtSerenity + Rest Dienstleistungen

Given we have valid credentials for the client using this test 
    When we try to serach for a medicine '<medicine>' 
    Then we get a valid '<perfLabel>' response with search results 
    |medicine|perflabel| 
    |Salbutamol|perflabel1| 
    |Panadol|perflabel2| 
    |Salbutamol (GA)|perflabel3| 

Als ich in den nächsten Schritt gehen

@When("we try to serach for a medicine '(.*)' ") 
    public void tryToSearchUsingEquals(String medicine) 
    { 
    tsApiActions.requestServiceSearchWhichEquals(medicine); 
    } 


In my Step method 



@Step 
    public void requestServiceSearchWhichEquals(String medicine) 
    { 
    host = "http://www.int.abc.com.au/api/cs/v1/terminology-service/trade-product/search-summary?offset=0&limit=20&prefLabel=eq "+medicine+"&sort=prefLabel DESC&cache=false"; 

    requestSend(host); 
    } 

die Fragen, die ich habe, sind

  1. Wie injiziere ich die Variablen (Salbutamol, Panadol) in die URI?
  2. Wie lege ich diesen URI in eine separate Eigenschaftendatei und rufe sie in der Step-Methode auf?

Jede Hilfe ist wirklich Dank

Antwort

1

RestAssured Anfragen folgen der gleiche Code-Struktur erkennen, die in Ihre sendrequest Methode hinzugefügt werden sollen:

given(). 
    param("prefLabel", medicine). 
when(). 
    get(URL). 
then(). 
    body(containsString(medicine)); 

URL von Immobilien Datei kommen kann, aber Sie brauchen Um eine Methode zu erstellen, um es vor dem Testlauf hochzuladen, müssen Sie eine getPropety() -Methode erstellen, um den aktuellen Wert zu erhalten, den Sie benötigen.

Ich schlage vor, die offizielle Dokumentation lesen hier: