Env वेरिएबल के मान के आधार पर निम्नलिखित 2 प्रतिक्रियाएं हैं।

अगर एनवी = उत्पाद,

[
  {
    "_": {
      "name": "FA",
      "icon-url": "https://test.com/static/images/air/partner.png"
    },
    "@": {
      "code": "00"
    }
  },
  {
    "_": {
      "name": "DA",
      "icon-url": "https://test.com/static/images/air/partner.png"
    },
    "@": {
      "code": "0D"
    }
  }]

और हम test.com को prod.com से बदलना चाहते हैं

अगर env SIT . है

[
  {
    "code": "00",
    "name": "FA",
    "iconUrl": "https://test.com/static/images/air/partner.png"
  },
  {
    "code": "0D",
    "name": "DA",
    "iconUrl": "https://test.com/static/images/air/partner.png"
  }
]

यहाँ पर जो पकड़ है वह है iconUrl कुंजी नाम दोनों प्रतिक्रियाओं में अलग है। यदि env उत्पाद है, तो हम icon-url 'test.com' को 'prod.com' से बदलना चाहते हैं यदि env SIT है, तो हम iconUrl 'test.com' को 'sit.com' से बदलना चाहते हैं।

1
user1873274 15 मार्च 2021, 18:55

1 उत्तर

सबसे बढ़िया उत्तर

इसे हल करने के कई तरीके हैं। पहले कृपया परीक्षणों को सरल रखने के बारे में इस सलाह को पढ़ें: https://stackoverflow.com/a/54126724/143475

सशर्त तर्क पर विचारों के लिए, देखें: https://stackoverflow.com/a/50350442/143475

एक संभावित तरीका अपेक्षित परिणाम की दो प्रतियां प्राप्त करना है। और पर्यावरण के आधार पर, सही लोड करें:

* match response = read('expected-' + karate.env + '.json')

अन्यथा मैं इसे आपके लिए एक होमवर्क के रूप में छोड़ देता हूं कि कुछ मापदंडों के आधार पर किसी दिए गए JSON को कैसे संशोधित किया जाए। कृपया इसे पढ़ें: https://stackoverflow.com/a/62567262/143475 - और अन्य लिंक किए गए उत्तर।

0
Peter Thomas 16 मार्च 2021, 06:06