【发布时间】:2021-08-04 15:48:12
【问题描述】:
我想验证特定的 JSON 内容是否与请求中定义的变量匹配,并且位于正确的位置,但没有成功。你认为我会如何解决这个问题?
以下收到的邮递员回复:
<TESTResponseMessage xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ContextToken>
<SourceId>TESTSOURCE</SourceId>
<SourceCounter>TESTSourceCounter</SourceCounter>
<Priority>1</Priority>
<ContextId>cb9bec3e-80d6-40a5-b7db-ec43bb1416df</ContextId>
</ContextToken>
<MessageBody>
<Message>Data received and Commissioning started</Message>
<HttpStatusCode>200</HttpStatusCode>
<TestRequest>{"ImportMpxn":"1414023910008","InstallCode":"91D4D6FAB81DF7DED66ACEC82729C537","ChfDeviceId":"88-73-84-51-00-00-89-DB","ExternalTrackingId":"TESTSourceCounter","DeviceId":"30-EB-5A-FF-FF-5C-8F-38"}</TestRequest>
<TestResponse>{"Item1":{"Success":true,"OrchestrationId":"99d0fe71-1ff9-4207-9a32-d027a349f82c"},"Item2":200}</TestResponse>
</MessageBody>
</TestResponseMessage>
我编写了以下断言测试但收到错误:
笔试
pm.test("MPXN sent = MPAN submitted", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.TESTResponseMessage.TestRequest.ImportMpxn).to.eql(pm.variables.get("ImportMpan"));
});
收到错误响应
JSONError: Unexpected token '<' at 1:1 <TESTResponseMessage xmlns:xsd="http://www.w3.org/20 ^
【问题讨论】:
-
您必须先解析 XML,找到 JSON 值节点,然后解析它们。
标签: javascript json api testing postman