J'utilise l'outil d'automatisation de karaté pour l'automatisation des services .. et j'essaie d'extraire id du département de la réponse JSON que j'ai stocké dans la variable ...unabel pour localiser l'élément de JSON
def departmentId = getstorewalk . .departments [*] id
getstorewalk est ma variable dans laquelle la réponse JSON est stockée
suivante est la réponse JSON
{ "walkzz": "001", "zz": zz, » ddd ":" zz "," zz ": {" zz ":" zz "," qui ": {" zz ":" 11 "," zz ":" zz "}}," de partments ": [{" id ": besoin d'extraire cet id," nom ":" zz "," someorder ": 1," zzs ": [{" zz ": zz," nom ":" zz (zz, zz, zz, zz & zz) "," someorder ": zz," zz ": [{" zz ": 51," nom ":" zz propagation "," someorder ": 16," zz ":" disponible " , "zz": [{"zz": "1223", "zz": "zz 30g", "zz": 3, "zz": 0, "zz": "périmé", "zz": faux, "zz": vrai, "zz": [], "zz": {"zz": 2, "zz": "zz", "zz": 6, "zzName": "Noyau zz (zz)", "département": 56, "zz": "015 zz Spreads", "zz": "zz Spread", "subzz": 100, "somezz": "zz & zz", "zz": {}, "zz_ ": 100", "zz": {"zz": "2017-09-21T11: 09: 15.524Z", "qui": {"zz": "11", "zz": "zz"}}, "action": {"zz": "Inclure"}, "zz": [{"capturezz": 375716, "zz": "Écart", "qté": 15, "zz": "zz", "zz ": {" zz ":" zz "," type ":" N "," nom ":" zz "," séquence ": 1}," zz ": {" zz ":" 211 "," qui " : {"zz": "11", "zz": "zz"}}}]}]}]}]}}
J'ai utilisé ce qui suit en arrière-plan:
- def = getstorewalk lu callonce ('classpath: zz/zz/zz.feature')
- def = departmentId getstorewalk.departments [*] id
et l'erreur est ci-dessous:. com .jayway.jsonpath.PathNotFoundException: Propriété manquante dans le chemin $ ['departments'] at com.jayway.jsonpath.internal.path.PathToken.handleObjectProperty (PathToken.java:72) at com.jayway.jsonpath.internal.path .PropertyPathToken.evaluate (PropertyPathToken.java:77) at com.jayway.jsonpath.internal.path.RootPathToken.evaluate (RootPathToken.java:62) à com.jayway.jsonpath.internal.path.CompiledPath.evaluate (CompiledPath.java:53) à com.jayway.jsonpath.internal.path.CompiledPath.evaluate (CompiledPath.java:61) à com.jayway. jsonpath.JsonPath.read (JsonPath.java:187) à com.jayway.jsonpath.internal.JsonContext.read (JsonContext.java:164) à com.jayway.jsonpath.internal.JsonContext.read (JsonContext.java: 151) à com.intuit.karate.Script.evalJsonPathOnVarByName (Script.java:339) à com.intuit.karate.Script.eval (Script.java:262) à com.intuit.karate.Script.eval (Script.java:182) à com.intuit.karate.Script.assign (Script.java:606) à com.intuit.karate.Script.assign (Script.java:537) at com .intuit.karate.StepDefs.def (StepDefs.java:268) at?. * def departmentId = getstorewalk.departments [*]. id (C:/Karaté/zz/zz/src/test/java/zz/zz /zz.feature:11)
Peter ..merci pour la réponse ..mais j'ai besoin de prendre la réponse d'une autre demande et passer l'ID de département à partir de la demande suivante ... et donc j'ai besoin d'appeler le premier fichier de fonctionnalité pour la réponse) ... vous stockez directement le fichier json dans la variable .. et par conséquent cela fonctionne. .. je pense que je fais une erreur en appelant la réponse et en la stockant à la variable .. votre solution fonctionne au cas où vous stockez directement la réponse dans getstorewalk ... comment puis-je appeler le fichier de fonctionnalité ..et stocker sa réponse json à getstorewalk ?? –
@TanajiPadwal avez-vous lu les 6 dernières lignes de ma réponse? réessayer. –