当前位置: 首页 > 知识库问答 >
问题:

需要在独立的空手道中使用JavaScript检查给定目录的文件夹、文件和文件详细信息。罐子

朱昊乾
2023-03-14

我需要在独立的空手道中使用JavaScript检查给定目录的文件夹、文件和文件详细信息(文件大小)。jar,此验证是测试自动化html" target="_blank">脚本的一部分。

我知道这可以通过在maven中编写定制java包并在空手道脚本的JavaScript中使用它们来实现。

如何在独立的空手道中实现这一点。罐子将目录路径和目录名作为两个参数传递给JavaScript函数,这些函数验证给定目录名是否存在于提供的目录路径中。它处理文件系统对象的类型。

我知道空手道只支持读取文件,而不是读取目录中的文件夹名称和文件名/文件详细信息。在空手道脚本中读取文件:https://intuit.github.io/karate/#reading-files允许的文件扩展名是:. json、. xml、. yaml、. csv、. txt、.特性

请指导我如何在空手道中使用Javascript实现这个?

谢谢你,钱德拉。

共有1个答案

莘俊能
2023-03-14

是的,这是更难与独立的JAR。以下是一些建议:

  • 编写一个小JAR文件(一次性),可以将其包含在独立项目中:https://stackoverflow.com/a/56458094/143475
  • 通过空手道使用操作系统命令。exec(),例如在windows上*def homePath=karate。exec('cmd/c echo%HOMEPATH%')
  • 通过一些工作,您可以创建使用JVM库的纯JS脚本,但是您需要对Java中存在的内容有很好的理解,并且这些脚本很难调试,因此我不推荐这种方法。下面我举一个例子:

* def findFile = 
"""
function(file, condition) {
  var root = new java.io.File(file);
  function recurse(file) {
    var list = file.listFiles();
    for (var i = 0; i < list.length; i++) {
      var f = list[i];
      if (f.directory) {
        // karate.log('recurse:', f);
        return recurse(f);
      } else {
        var path = f.path;
        // karate.log('scan:', path);
        if (condition(path)) {
          karate.log('*** found:', path);
          return f;
        }
      }
    }
  }  
  return recurse(root);
}
"""
* def filter = function(x){ return x.contains('/test-') && x.endsWith('.log') }
* def found = findFile('.', filter)
* print 'found:', found

 类似资料:
  • 我得到了一个程序,它应该读取所有的文件存在于一个给定的文件夹,并给出文件的细节,如文件名,文件大小,创建日期和时间,文件位置作为输出。如果在给定的文件夹中有任何子文件夹,那么它也应该geiving该子文件夹中存在的文件的详细信息。

  • 本文向大家介绍GNU/Linux 文件/目录详细信息,包括了GNU/Linux 文件/目录详细信息的使用技巧和注意事项,需要的朋友参考一下 示例 该ls命令有几个选项,可以一起使用以显示更多信息。 详细信息/权利 该l选项显示文件许可权,大小和最后修改日期。因此,如果根目录包含一个名为dir的目录test和一个文件,someFile则命令为: 将输出类似 权限格式为drwxrwxrwx。d如果不是

  • 问题内容: 请给我一个使用php列出目录中所有文件夹,子文件夹,文件的解决方案。我的文件夹结构是这样的: 我想获取每个文件夹内所有文件的列表。 php中有任何shell脚本命令吗? 问题答案:

  • 我想问一下如何使用Java知道目录/文件夹中的文件/文件类型。问的原因是,目前,我有一个情况,将有两个不同类型的文件存在于文件夹中,其中一个是基于Java的,另一个是Python。我想使用Java作为一种语言,以编程方式检查解压缩文件夹中的类型文件是python(.py)还是Java(.Java)。你知道怎么做吗?有什么建议吗?在同一文件夹中不可能有两种类型的文件。话虽如此,该文件要么全部在Jav

  • Folder1--->log1.log                     log2.log                  log3.log Folder2--->log1.log                     log2.log                  log3.log 我想让我的记录器独立地登录到文件中。 到目前为止,我已经创建了3个RollingFileAppend

  • 问题内容: 我尝试解压缩150个zip文件。所有zip文件都使用不同的名称,它们都分散在一个大文件夹中,该文件夹分为许多子文件夹和子子文件夹。我想将每个存档提取到与原始zip文件名相同名称的单独文件夹中,与原始zip文件位于同一位置。我的代码是: 我运行代码后,什么都没有发生。在此先感谢您的任何帮助。 问题答案: 更新: 最后,这段代码对我有用: