【问题标题】:Is possible to execute curl in Karate tests?可以在空手道测试中执行 curl 吗?
【发布时间】:2020-10-14 19:52:45
【问题描述】:

我需要运行一些使用 NTLM 代理的测试。 由于空手道不支持 NTLM 代理,我认为如果空手道可以“执行”如下 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 命令吗? (而不是空手道在调用 Given...Path... 时使用的内部 http 请求)

谢谢

【问题讨论】:

    标签: karate


    【解决方案1】:

    是的,Karate 有很好的 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)
    

    【讨论】:

    • @jsturnio,谢谢! NTLM 之前已经被请求过几次,而我从未想到过 curl,所以我编辑了一个旧答案:stackoverflow.com/a/49878436/143475 - 一旦你得到这个工作就报告!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多