How this tool computes its result
Each assertion line is parsed as `type:expression==expected` (expected is optional). "contains"/"notContains" do plain substring checks against the raw response body text. "jsonpath" first attempts JSON.parse on the whole response body (guarded in a try/catch — if parsing fails, every jsonpath assertion automatically fails with "Response is not valid JSON") and then runs the jsonpath-plus library against the parsed object. "xpath" parses the response body as XML via DOMParser and runs doc.evaluate. When an expected value is given, matched values are compared with stringifyValue (JSON.stringify for non-strings) using strict string equality against the expected text.
