Hoping someone can tell me what I'm doing wrong here. I see the value for foo in the response with each retry. Oddly, once it a while it will pass. No issues if I remove the retry until and evaluate it after making the call.
* def bar = "baz"
* retry until response[0].foo.bar == bar
response =
[
{
"foo": {
"bar": "baz"
}
}
]
[Thread-0] WARN com.intuit.karate - retry condition evaluation failed: js failed: 01: response[0].foo.bar == bar org.graalvm.polyglot.PolyglotException: TypeError: Cannot read property "foo" from undefined .:program(Unnamed:1)
Try:
* retry until response && response.length && response[0].foo.bar == bar
Add more "checks" like this as needed as there may be an empty array initially etc.
Refer this also: https://stackoverflow.com/a/55823180/143475