我需要运行一些使用NTLM代理的测试。 由于空手道不支持NTLM代理,我认为如果空手道可以“执行”如下所示的curl命令,我将让凯特使用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命令吗? (而不是空手道在调用给定...路径时使用的内部http请求)
谢谢
答案 0 :(得分:1)
是的,空手道具有很好的CLI支持,如果您的操作系统上有curl
,则可以完成。有关详细信息,请参见此答案,请参见0.9.6 https://stackoverflow.com/a/62911366/143475
您的情况下,请先尝试使用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)