可以在空手道测试中执行 curl 吗?
Is possible to execute curl in Karate tests?
我需要 运行 一些使用 NTLM 代理的测试。
由于 Karate 不支持 NTLM 代理,我认为如果 karate 可以“执行”如下所示的 curl 命令,我会让 kate 使用 NTLM:
curl -X GET 'https://someaddress.com/cats?Status=completed' -u siteuser:sitepasswd --proxy-ntlm --proxy-user ckuser:ckpasswd --proxy internal-ntlm-proxy:8080 -s
有人知道我是否可以在空手道中调用 curl 命令吗? (而不是 Karate 在调用 Given...Path... 时使用的内部 http 请求)
谢谢
是的,空手道有很好的 CLI 支持,如果 curl
出现在您的 OS 上,就可以完成。有关详细信息,请参阅此答案,在 0.9.6
中可用
对于您的情况,请先尝试 karate.exec()
* def result = karate.exec("curl -X GET 'https://someaddress.com/cats?Status=completed' -u siteuser:sitepasswd --proxy-ntlm --proxy-user ckuser:ckpasswd --proxy internal-ntlm-proxy:8080 -s")
并且 result
将包含控制台文本。请注意,有 regex helpers 可以更轻松地提取值,例如:
* def token = karate.extract(result, 'some(pattern).+', 1)
我需要 运行 一些使用 NTLM 代理的测试。 由于 Karate 不支持 NTLM 代理,我认为如果 karate 可以“执行”如下所示的 curl 命令,我会让 kate 使用 NTLM:
curl -X GET 'https://someaddress.com/cats?Status=completed' -u siteuser:sitepasswd --proxy-ntlm --proxy-user ckuser:ckpasswd --proxy internal-ntlm-proxy:8080 -s
有人知道我是否可以在空手道中调用 curl 命令吗? (而不是 Karate 在调用 Given...Path... 时使用的内部 http 请求)
谢谢
是的,空手道有很好的 CLI 支持,如果 curl
出现在您的 OS 上,就可以完成。有关详细信息,请参阅此答案,在 0.9.6
对于您的情况,请先尝试 karate.exec()
* def result = karate.exec("curl -X GET 'https://someaddress.com/cats?Status=completed' -u siteuser:sitepasswd --proxy-ntlm --proxy-user ckuser:ckpasswd --proxy internal-ntlm-proxy:8080 -s")
并且 result
将包含控制台文本。请注意,有 regex helpers 可以更轻松地提取值,例如:
* def token = karate.extract(result, 'some(pattern).+', 1)