2017-10-04 3 views
1

Avec le script ci-dessous, je peux envoyer les données/données utiles à ma demande POST. Cependant, notable pour exécuter la demande de publication à partir du script. Besoin de post requête en boucle.Comment déclencher une requête REST dans SOAPUI avec l'étape de test du script Groovy

def POSTForgivness = testRunner 
    .testCase 
    .getTestStepByName("postforgivness") 
    .getT‌​estRequest() 
POSTForgivness.setRequestContent(ForgivnessPayload) 

Autres informations de commentaires:

  • à chaque fois dans la boucle, j'ai des données différentes pour la demande post
  • ne se charge pas les tests, mais la demande de poste avec des données d'entrée différentes
  • ont obtenu quelque 900 + enregistrements, capables de lire et d'envoyer les données pour postuler la demande mais la demande de publication ne se déclenche pas/ne tourne pas après celle-ci dans la boucle.
+0

// Appel de l'API POST Forgivness pour chaque enregistrement du fichier JSON. def POSTForgivness = testRunner.testCase.getTestStepByName ("postforgivness"). GetTestRequest() POSTForgivness.setRequestContent (ForgivityPayload)} –

+0

Voulez-vous s'il vous plaît modifier la question et répondre à ces questions? 1. Y a-t-il des changements dans la demande à chaque fois? 2. Essayez-vous de charger le test? Vous pouvez expliquer votre cas d'utilisation un peu plus. – Rao

+0

1. Oui, chaque fois dans la boucle j'ai des données différentes pour la demande de poste –

Répondre

1

Ici, vous allez: Code sudo

  1. obtenir l'étape de test par nom
  2. définir la nouvelle demande à l'étape suivante
  3. exécuter l'étape
  4. besoin de désactiver l'étape de repos comme tout est commandé par step1 (qui est de script routinier)
//Get the next step 
def nextStep = context.testCase.getTestStepByName("postforgivness") 
//Set the new request 
nextStep.httpRequest.requestContent = ForgivnessPayload 
//run next step 
nextStep.run(testRunner, context) 

Exécutez simplement la boucle du code ci-dessus jusqu'à ce que vous finissiez les données.

+0

Merci beaucoup Rao, ça a parfaitement fonctionné –

0

Re Besoin d'une demande de publication en boucle.

Cela ressemble à un test piloté par les données par opposition à un test de charge.

Placez votre demande de post-pardon entre une étape "Source de données" et une étape "Boucle de source de données".

Vous pouvez ensuite «boucler» votre étape de post-pardon autant de fois qu'il y a de lignes configurées dans votre étape de source de données. Pour chaque ligne que vous avez configurée, vous pouvez définir la charge utile à injecter dans votre requête.

Il existe un excellent article sur le site Web SoapUI https://www.soapui.org/data-driven-tests/functional-tests.html.

+0

Merci Chris: Ma source de données est un fichier json, j'ai de l'expérience en utilisant la source de données de MySQL DB mais jamais utilisé la source de données de json fichier donc j'ai écrit un script pour lire le fichier json.je voudrais trouver un moyen de déclencher la requête restante du script –

+0

OK, en regardant dans SoapUI, il y a plusieurs entrées de sources de données valides, mais il n'y en a pas pour JSON. Pouvez-vous créer une feuille de calcul de sorte que chaque ligne contienne les données d'un objet JSON dans votre fichier? Si c'est le cas, il est vraiment facile à utiliser pour que vous puissiez appeler votre demande de tests pour chaque ligne dans la feuille de calcul. –