我是空手道新手
我自动化API测试,我需要上传一个大文件〉50MB当我这样做与空手道我得到一个错误“破碎的管道”,根据这个问题Broken pipe (Write failed) when testing > max allowed Content-Length我可以使用“cURL”为这个请求。
如下所示(使用硬编码数据),它工作正常:
* def result = karate.exec('curl -L -X POST "URL" -H "Authorization: Bearer MYTOKEN" -F "file=@"PATH""')
但是,在传递变量时,我遇到了语法问题,我需要将URL、令牌和路径作为变量传递,而不是硬编码文本,因为我将在多个场景中重用此测试。
我该怎么做?谢谢,
1条答案
按热度按时间anauzrmj1#
把空手道的语法想象成非常接近JavaScript。因此,字符串连接是有效的。例如:
JavaScript Template Literals的一个优点是:
还要注意,
karate.exec()
API采用了一个命令行参数数组,这可以使一些事情变得更容易,比如不必在参数周围加上引号,并包含空格等。为了方便起见,您可以将构建arguments数组作为第二步:
请注意,条件逻辑甚至
if
语句在空手道中都是可能的:https://stackoverflow.com/a/50350442/143475另请参阅:https://stackoverflow.com/a/62911366/143475