单击当前网页上的按钮后需要从 XHR API 调用中提取响应

问题描述 投票:0回答:1

使用空手道 DSL,我需要在单击当前网页上的按钮后从 XHR API 调用中提取响应。 PFA 截图如下。在这里,我需要获取 API 的响应,该响应在单击当前页面上的“完成您的预订”按钮后以 XHR 形式出现。

您可以看到“key”作为名称出现在 XHR 中。我需要根据所附屏幕截图获取 PaymentKeys 的值。 我尝试了页面中提到的“driver.intecept()”方法:https://github.com/karatelabs/karate/tree/develop/karate-core#intercepting-http-requests

  • driver.intercept({ 模式:[{ urlPattern:'hpc.uat.testpay.com' }],模拟:'mock-01.feature' })

但是我收到错误,因为 org.graalvm.polyglot.PolyglotException: TypeError: invokeMember (intercept) on com.intuit.karate.driver.chrome.ChromeWebDriver@5a5c128 失败,原因是:未知标识符:拦截

  • .:程序(未命名:1)

我使用的是空手道 DSL 版本 1.3.0。我提到的代码如下:

  • driver.intercept({ 模式:[{ urlPattern:'hpc.uat.testpay.com' }],模拟:'mock-01.feature' })

请建议在这里做什么。

enter image description here

karate
1个回答
1
投票

驱动程序类型应为

chrome
而不是
chromedriver
,才能使
driver.intercept()
正常工作。请阅读文档:https://github.com/karatelabs/karate/tree/master/karate-core/#driverintercept

编辑:如何从被拦截的调用中获取数据,请参考这个thread and diff

© www.soinside.com 2019 - 2024. All rights reserved.