我想從網路位置下載(100MB debian)檔案。我不想與檔案互動;我只想把它保存在我的系統上。作為輸入,我有 url 和 api 密鑰(作為標題傳遞)。以下 curl 命令適用于我的終端:
curl --insecure -H key:value --output C:\Users\username\filename.deb https://path/filename.deb
所以我嘗試這樣卷曲:
Scenario: Download file
* karate.exec('curl --insecure -H key:value --output C:\Users\username\filename.deb https://path/filename.deb')
但什么也沒有發生。然后我嘗試撰寫回應,省略了輸出欄位,但結果是 190MB 而不是 100MB:
Scenario: Download file
* def result = karate.exec('curl --insecure -H key:value https://path/filename.deb')
* karate.write(result, 'fw.deb')
有沒有辦法只執行一個命令(我試過karate.fork但它也沒有做任何事情)而不需要捕獲結果并將其寫入檔案?
uj5u.com熱心網友回復:
如果您無法訪問karate.exec()或karate.fork()作業,那么我建議的唯一選擇是撰寫一些 Java 代碼來執行此特定操作,這樣您就可以將這個奇怪的步驟包含到您的測驗腳本中。
具體使用方法karate.exec()參考:https : //stackoverflow.com/a/62911366/143475
讓 Java 行程正確定位檔案系統上的可執行檔案是很棘手的。如果env使用系統之類的東西設定屬性會產生影響,您可以進行試驗PATH。或者使用完整的絕對路徑curl安裝到任何地方等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/366959.html
下一篇:以角度構建URL
