2017-06-30 7 views
2

S'il vous plaît noter que je suis en train d'envoyer la demande ci-dessous et de valider la réponse sur la méthode POST en utilisant urlObtenir problème lors de l'envoi JSON imbriqué comme demande de valider la méthode API POST REST en utilisant le framework Karate

http://uat-ws.*.uk.***.ws/index.php/*/****/validatevoucher

comme ci-dessous: J'utilise le cadre de karaté ici pour automatiser API REST

Scenario: validate voucher 

Given url 'http://-..uk../v3//******' 
And header Content-Type = 'application/json' 
And request {json request here} 
When method post 
Then status 200 



12:17:30.510 [main] DEBUG com.intuit.karate.StepDefs - response time in milliseconds: 579 12:17:30.528 [main] ERROR com.intuit.karate.StepDefs - FAILED, status code was 400, expected 200 

[31mFailed scenarios:[0m [31mexamples/users/WSS.feature:3 [0m# Scenario: validate voucher 

1 Scenarios ([31m1 failed[0m) 5 Steps ([31m1 failed[0m, [32m4 passed[0m) 0m3.516s 

com.intuit.karate.KarateException: status code was 400, expected 200 at com.intuit.karate.StepDefs.handleFailure(StepDefs.java:516) at com.intuit.karate.StepDefs.status(StepDefs.java:447) at ✽.Then status 200(examples/users/WSS.feature:9) 

Répondre

1

il assez clair de l'erreur que la demande est de frapper le serveur, mais le serveur répond avec un 400. le test de karaté i s fonctionne correctement, mais il semble que le serveur attendait un autre JSON ou un type de contenu.

Ma suggestion est de prendre l'aide de quelqu'un qui peut regarder les journaux du serveur, et savoir pourquoi le serveur est de lancer un 400.

Edit: Après la relecture de votre question, je suppose que vous êtes essayer de former un JSON imbriqué. Oui le JSON que vous avez essayé d'utiliser dans le script est faux. Pouvez-vous essayer cela. Depuis que vous avez caché beaucoup de la demande réelle, il est très difficile de voir le problème. Veuillez vous familiariser avec JSON et savoir comment créer un JSON imbriqué comme dans l'exemple ci-dessous.

And request 
""" 
{ 
    memberId: '******', 
    memberIpAddress: '******', 
    voucherData: { 
    blabla: { 
     voucherNo: '*****', 
     voucherValue: '***', 
     voucherIssueDate': '', 
     voucherExpiryDate: '******' 
    } 
    } 
} 
"""