É possível executar curl em testes de Karate?
Preciso executar alguns testes que usam um proxy NTLM. Devido ao Karate não suportar proxy NTLM, acho que se o karatê puder "executar" um comando curl como o abaixo, farei com que o kate trabalhe com 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
Alguém sabe se posso chamar um comando curl no Karate? (em vez da solicitação http interna que o Karatê usa quando chama Dado ... Caminho ...)
obrigado
Respostas
Sim, o Karate tem um suporte CLI muito bom, se curlestiver presente no seu sistema operacional, isso pode ser feito. Veja esta resposta para detalhes, disponível em 0.9.6https://stackoverflow.com/a/62911366/143475
No seu caso, tente primeiro com 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")
E resultconterá o texto do console. Observe que existem ajudantes regex para facilitar a remoção de valores, por exemplo:
* def token = karate.extract(result, 'some(pattern).+', 1)