有没有办法使用空手道写入文本文件

问题描述 投票:1回答:2

在我的空手道测试中,我需要将响应ID写入txt文件(或任何其他文件格式,如JSON),想知道它是否具有执行此操作的任何功能,我在文档中没有看到其他情况。在没有的情况下,是否有一个简单的JavaScript函数呢?

javascript dsl karate
2个回答
4
投票

在JavaScript中试试karate.write(value, filename)。我们没有记录这一点,因为我们不鼓励它。此外,该文件只会写入当前的“build”目录,该目录将是针对Maven项目/独立JAR的target

value可以是任何数据类型。

这是一个example

编辑:对于将来遇到这个答案的其他人来说,正确的做法是:

  1. 不要首先编写文件,你永远不需要这样做,这个问题通常由没有经验的人提出,他们出于某种原因认为在验证之前“保存”响应的唯一方法是将其写入文件。不,请不要浪费你的时间 - 请match反对response。并且不要编写测试以使场景(或功能)依赖于其他场景,这是一个very bad practice
  2. 看看karate.write()是否适合你这个答案
  3. 使用Java interop编写自定义Java(或使用JVM的JS函数)来执行您想要的操作

0
投票

我写入文件的理由是不同的。我明确地使用空手道来实现模拟。我想公开一个端点,其中上游系统将使用POST / PUT方法通过json有效负载发送一些基本数据,karate将构造后续有效负载文件并将其存储在特定文件夹中,这个新创建的有效负载文件将通过另一个GET公开呼叫。

© www.soinside.com 2019 - 2024. All rights reserved.