2017-09-28 26 views
1
Scenario Outline: Verify retreiving endpoint for particular system 
    Given path 'kites/<id>' 
    When method get 
    Then status 200 
    And match response contains "<orgid>" 

    Examples: 
    | kites     | orgid     | 
    | 56338e32e4b0846c32c0732e | 56338e32e4b0846c32c0732e | 

我收到以下錯誤:空手道 - 無法執行匹配操作 - 實際值不串

com.intuit.karate.exception.KarateException: path: $, actual: 
{ 
    "orgId": "56338e32e4b0846c32c0732e", 
    "name": "Supplier Management" 
} 
expected: '56338e32e4b0846c32c0732e', reason: actual value is not a string 

我試着用<orgid>"<orgid>",但我得到同樣的錯誤。 任何幫助,將不勝感激。

回答

1

在你的例子中有太多東西我不明白。 <id>從哪裏來的? kites列在哪裏使用?

最嚴重的問題是您使用的是orgid,但實際的JSON有一個密鑰orgId。請不要犯基本錯誤,然後重試。

而且你不應該試圖做這樣的事情:

And match response contains { orgId: "<orgid>" } 

編輯:既然有對上述投訴(我覺得這令人失望),我添加另一種選擇:

And match response.orgId == "<orgid>" 
+0

謝謝@Peter。對不起,錯字錯誤(試圖不擁有業務領域)。我希望能否像下面這樣使用:'和匹配響應包含「」',而不是像{0g =「」} – Saurabh

+1

''指定爲什麼你爲什麼要以奇怪的方式做事:P只要堅持JSON ,這很奇怪嗎?無論如何,看我的編輯。 –