在空手道测试中,我需要将响应ID写入txt文件(或其他任何文件格式,例如JSON),想知道它是否具有执行此功能的能力,我在文档中没有看到其他内容。如果没有,是否有一个简单的JavaScript函数可以实现?
答案 0 :(得分:3)
在JavaScript中尝试karate.write(value, filename)
。我们不记录此文件,因为我们不鼓励这样做。此外,该文件将仅写入当前的“ build”目录,对于Maven项目/独立JAR,该目录为target
。
value
可以是任何数据类型。
这里是example。
编辑:对于将来遇到此问题的其他人,正确的做法是:
首先不需要写文件,您永远不需要这样做,这个问题通常是由经验不足的人提出的,出于某些原因,他们认为在验证之前“保存”响应的唯一方法是将其写入文件。不,请不要浪费您的时间-请仅将match
与response
相对。并且不要编写测试,以使方案(或功能)依赖于其他方案,这是very bad practice。
按照此答案查看karate.write()
是否对您有用
编写一个自定义Java(或使用JVM的JS函数)以使用Java interop
答案 1 :(得分:0)
我写文件的理由是另一回事。我明确地使用空手道来实现模拟。我想公开一个端点,其中上游系统将使用POST / PUT方法通过json有效载荷发送一些基本数据,而空手道将构造后续的有效载荷文件并将其存储在特定的文件夹中,而这个新创建的有效载荷文件将通过另一个GET公开打电话。