使用空手道 DSL,我需要在单击当前网页上的按钮后从 XHR API 调用中提取响应。 PFA 截图如下。在这里,我需要获取 API 的响应,该响应在单击当前页面上的“完成您的预订”按钮后以 XHR 形式出现。
您可以看到“key”作为名称出现在 XHR 中。我需要根据所附屏幕截图获取 PaymentKeys 的值。 我尝试了页面中提到的“driver.intecept()”方法:https://github.com/karatelabs/karate/tree/develop/karate-core#intercepting-http-requests
但是我收到错误,因为 org.graalvm.polyglot.PolyglotException: TypeError: invokeMember (intercept) on com.intuit.karate.driver.chrome.ChromeWebDriver@5a5c128 失败,原因是:未知标识符:拦截
我使用的是空手道 DSL 版本 1.3.0。我提到的代码如下:
请建议在这里做什么。
驱动程序类型应为
chrome
而不是 chromedriver
,才能使 driver.intercept()
正常工作。请阅读文档:https://github.com/karatelabs/karate/tree/master/karate-core/#driverintercept
编辑:如何从被拦截的调用中获取数据,请参考这个thread and diff。